HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/pandas/tests/indexes/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/pandas/tests/indexes/__pycache__/test_base.cpython-36.pyc
3

���h�k�@s�ddlmZddlmZmZddlmZddlZddlZddlZddl	Z
ddlZddlj
jZddlmZddlmZddlmZddlmZddlZdd	lmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&ddl'j(Z)dd
l*m+Z+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1Gdd
�d
e1�Z2Gdd�de1�Z3Gdd�d�Z4ej5j6ddddddddddddddd d!d"d#d$d%d&g�d'd(��Z7ej5j6d)e)j8��d*d+��Z9d,d-�Z:d.d/�Z;d0d1�Z<d2d3�Z=e
j>d4�e
j>d5�ej?d6d7�ej@d6�gZAej5j6d8eA�ej5j6d9eA�d:d;���ZBdS)<�)�defaultdict)�datetime�	timedelta)�StringION)�	Timestamp)�np_datetime64_compat)�
async_mark)�ABCIndex)
�CategoricalIndex�	DataFrame�
DatetimeIndex�Float64Index�
Int64Index�PeriodIndex�
RangeIndex�Series�TimedeltaIndex�UInt64Index�
date_range�isna�period_range)�Index�
MultiIndex�_get_combined_index�ensure_index�ensure_index_from_sequences)�Basec@seZdZeZed�dd�Zdd�Zejj	ddgdd	�d
d��Z
ejj	ddd
dgdd	�dd��Zdd�Zejj	ddgdd	�dd��Z
ejj	ddgdd	�dd��Zejj	dddg�ejj	dejdddddd�ejdddd �ejd!ddd �ejd"ddd �g�d#d$���Zejj	d%ejddddd&�dfejd!ddd �dfejd"ddd �dfg�d'd(��Zd)d*�Zd+d,�Zejj	d-ejd.�ejd/d0d1g�ed2dd3�jg�d4d5��Zd6d7�Zejj	d8d9d:g�d;d<��Zd=d>�Zejj	d?ejej ej!fej"d@ej#fg�dAdB��Z$ejj	dCdDdEddFd.gdfdGej!dHdIgdfdJdKdLej!gdMfg�dNdO��Z%ejj	dPdDdEdgejdDdEdg�ejdDdEdge&dQ�dRdSdIgejdRdSdIge'dQ�g�dTdU��Z(ejj	dPdDdEdgdRdSdIgejdRdSdIg�ejdDdEdge&dQ�ejdRdSdIge'dQ�g�dVdW��Z)ejj	dPdDdEdgejdDdEdge&dQ�eje*dX�e*dY�g�e+dZdDdD�e+dZdDdE�gg�d[d\��Z,ejj	d]ddg�ejj	dPeeje*dX�e*dY�g��ee+dZdDdD�e+dZdDdE�g�g�d^d_���Z-ejj	d]ddg�ejj	dPejej.dDd�ej.dDd�g�e/dD�e/dD�gg�d`da���Z0ejj	dbdcddg�ejj	deejej"g�dfdg���Z1ejj	dbdcddg�ejj	deejej2g�dhdi���Z3ejj	djge4g�dkdl�gD�g�ejj	deeee5e6e7e"e2g�dmdn���Z8ejj	doe9gdKdp�e9fe9e4g�dKdp�e9fe9dqdl�gD�dKdp�e9fe:dDdr�ej:fe;dDdEgdsdtgggggdu�e;fg�dvdw��Z<dxdy�Z=ejj	dddddzd{d|d}d~d
g	dd	�dd���Z>ejj	dd�dej?d�ejj@d�d��d��d�d�gdd	�d�d���ZAejj	ddd{gdd	�d�d���ZBd�d��ZCejj	d�ed/d0g�ed/d0d�g�d/d0d1gg�d�d���ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHejj	ddgdd	�d�d���ZId�d��ZJd�d��ZKejj	ddgdd	�d�d���ZLd�d��ZMejj	ddddgdd	�ejj	d8ejNejOg�d�d����ZPejj	ddddgdd	�d�d���ZQejj	ddgdd	�d�d���ZRejj	d�eddFd.d�d�gdd��dfeddFd.d�d�gd�d��dfeddFd.d�d�g�dfg�d�d���ZSejj	ddgdd	�ejj	d��d(�d)�d*g�d�d����ZTejj	d�edFd�d�d.dgdd��dfedFd�d�d.dgd�d��dfg�d�d���ZUejj	d�edKdg�dKgfedKddJg�dJdKgfg�d�d���ZVd�d��ZWejj@d�d��d�d���ZXd�d��ZYejj	ddgdd	�d�d„�ZZejj	d�e[d��e[dăg�d�dƄ�Z\ejj@d�d��ejj	d�e[d��e[dăg�d�dȄ��Z]ejj	deeje^e_g�ejj	ddgdd	�d�dʄ��Z`ejj	ddgdd	�d�d̄�Zaejj	d�e_d΃e_�g�ejj	d�e_dЃe_�g�ejj	dѐd+�d,�d-g�d�dӄ���Zbd�dՄZcd�dׄZdd�dلZed�dۄZfejj	dbd�d�d�g�d�d��Zgd�d�Zhejj	d�d�d�d�d�g�d�d��Ziejj	d�d�d�d�d�g�d�d��Zjejj	d�e^d�dSd�gd�dE�d.gd�d�d�dEdS�d/d�ig�d�d��Zkd�d�Zld�d��Zmejj	d��d0�d1g�d�d���Znejj	ddgdd	�ejj	d��d2�d3g�d�d����Zoejj	ddgdd	�d�d���Zpejj	ddgdd	��d�d��Zqejj	ddgdd	��d�d��Zr�d�d�Zsejj	�d�d�dg��d	�d
��Ztejj@d�d��ejj	�d�d�dg��d�d���Zu�d
�d�Zvejj	�ded�dDej!g�edSdI�dg�fed�dDg�eej!dSdI�dg�fg��d�d��Zw�d�d�Zx�d�d�Zy�d�d�Zz�d�d�Z{ejj	�d�d4�d5�d6�d7�d8�d9gdgd	��d�d��Z|ejj	�d�d:�d;�d<�d=�d>�d?gdgd	��d�d��Z}ejj	�d�d@�dA�dB�dC�dD�dEgdgd	��d �d!��Z~�d"�d#�Z�d$�d%�Z��d&�d'�Z��d(�d)�Z�ejj	dPdD�dF�d+gd/d0d1gg��d,�d-��Z��d.�d/�Z��d0�d1�Z�ejj	�d2�d3�d4g��d5�d6��Z��d7�d8�Z��d9�d:�Z�ejj	�d;ddg�ejj	�d<ej�dGd�d�dDdDgej�dQ��d=fej�dHd�d�dDdDgej�dQ��d>fejd�d�dDdDdEgej�dQ��d?fejd�d�dDdDdEgej�dQ��d@fg��dA�dB���Z��dC�dD�Z�ejj	�dE�d=d�d�d.�dFgd�d.�dFgf�d?d�d�d.�dFgd�d.�dFgf�dGd�d�d.�dFgd�d.�dFgf�d=d�d�d.�dFgd�d.�dFgf�d?d�d�d.�dFgd�d.�dFgf�dGd�d�d.�dFgd�d.�dFgf�d=d��dH�dI�dJgd�dD�dKgf�d?d��dH�dI�dJgdDdE�dFgf�dGd��dH�dI�dJgd�dE�dFgf�d=dD�dH�dI�dJgd�dD�dKgf�d?dD�dH�dI�dJgdDdE�dFgf�dGdD�dH�dI�dJgd�dE�dFgf�d=�dH�dH�dI�dJgdĐdI�dJgf�d?�dH�dH�dI�dJg�dKdE�dLgf�dG�dH�dH�dI�dJgd�dE�dMgfg��dL�dM��Z�ejj	�dNe_e�e^ejg�ejj	�dOe_e��dP�dP�dQg�dH�dQ�dQg�dQ�dR�dRggd�dE�dNgdĐdO�dPg�dQdE�dFgg����dS�dT���Z��dU�dV�Z�ejj	�dW�d=�dKd�d�gf�d?�dF�dKdDgf�dG�dFd�d�gfg��dX�dY��Z�ejj	�dW�d=ej�dRd�dDdDgej�dQ�f�d?ejd�d�dD�dSgej�dQ�fg��dZ�d[��Z��d\�d]�Z�ejj	�d^e5e:eg��d_�d`��Z��da�db�Z�ejj	�dcd��d=�d?�dGg��dd�de��Z�ejj	�dcd��d=�d?�dGg��df�dg��Z�ejj	�dh�dT�dU�dVg��di�dj��Z�ejj	�dc�d=�d?�dGg��dk�dl��Z��dm�dn�Z��do�dp�Z��dq�dr�Z��ds�dt�Z��du�dv�Z�ejj	d8e&e'g��dw�dx��Z�ejj	d8e&e'g��dy�dz��Z��d{�d|�Z�ejj	d8e&e'g��d}�d~��Z��d�d��Z��d��d��Z�ejj	�d�ej�d�d��dW��d�fej�d0�d��dX��d�fej�d0d��dY�d0fej�d�d0�dZ��d�fej�d��d��d[��d�fej��d�d��d\��d�fej��d�d��d]��d�fej�d�d/�d^��d�fej�d�d/�d_��d�fej��d�d��d`��d�fej��d�d��da��d�fej��d�d��db��d�fej�d��d��dc��d�fej�d/d/�dd��d�fej��d��d��de��d�fej��d��d��df��d�fg��d��d���Z�ejj	ddddgdd	��d��d���Z�ejj	ddddgdd	�ejj	�d�d�d�g�d�d�gg��d��d����Z�ejj	ddddgdd	��d��d���Z��d��d��Z��d��d��Z�ejj	�d�dFedDdEdg�fddFd.gedDdEg�fg��d��d���Z�ejj	dcd/d0�dggd/�dhd0g�did/d0gg�ejj	�d��djd/gd/�dkgg��d��d����Z�ejj	�d��d�ej�dl�dm�dn�dog�d�e&f�dpgdQ�df�d�ej�dq�dr�ds�dtg�d�e&f�dugdQ�d�f�d�ej�dv�dw�dx�dy�dz�d{g�d�e&f�d|gdQ�d�fg��d��d���Z�ejj	db�d��d��d��d�g��d��d���Z��d��d��Z�ejj	ddddd}gdd	��d��d���Z�ejj	dcd�d��d�gd�d��d�hg�ejj	�d�e�d�d�d�d�g�ejddddg�feg�ejge�dQ�fg��d��d����Z��d��d��Z��d��d��Z�ejj	�d�dĐd}g�ejj	de�d�d�d�d�g�edRdSdI�d+g�g��d��d����Z��d��d��Z�ejj	�d�dR�dÐd�ej!g��dŐdƄ�Z�ejj	d�ge^e�dQ�ejg�g��dǐdȄ�Z�ejj	dcdDdEddFgdRdSdI�d+gddddgd�d�d�d�gej�d�ddFd �g��dʐd˄�Z�ejj	ddgdd	�ejj	�d̐d~�dg��d͐d΄��Z��dϐdЄZ�ejj	dd�dddd
dgdd	��dѐd҄�Z�ejj	�dc�dӐdԐd�g��d֐dׄ�Z�ejj	dee�d.��e�jd؃e;jÐd��d�g�e�dڐd�dJ�d܍g��dݐdބ�Z�ejj	�d�d�ed/d0d1gd��d�g�d�gg�fded/d0d1gd��d�g�d�gg�fde;jÐd�d��d�ej!f�d�ej!ej!fg�fg��d�d��ZŐd�d�ZƐd�d�Z�ejj	�d�ee_�d��dfee�dF��dfg��d�d��ZȐd�d�Zɐd�d�Zʐd�d�Zːd�d�Z̐d�d�Z͐d��d��Z�ejj	d�d��d�g�ejj	�d�gejg�dJdKdLgdLdKdJgejdJdKdLg�ejdLdKdJg�ej�d�dd3�jej�d�dd3�jσg��d��d����Z�ejj	�d�gejg�ejgej�dQ�g��d��d���Z�ejj	�d�ej5g�ej�fejg�ej fej"g�ej�fg��d��d���ZԐd�d�ZՐd�d�Z�ejj	�de;jÐd��d�g�ejddg�fe;jÐd��d�g�ejddg�fg��d�d��Zאd�d�Z�ejj	de;jÐd��d��d�g�ed�d�d�g�g��d	�d
��Zِd�d�Z�ejj	�d
ej�ej�g��d�d��Z�ejj	�d�ejd/�d�dg��dfejd/�d�dg�d���dfejd/�d�dg�d��dfej�d�d�dg��dfej�d�d�dg�d���dfej�d�d�dg�d��dfg��d�d��Z�ejj	�d�ej�d�d�dg��dfej�d�d�dg�d���dfej�d�d�dg�d��dfg��d �d!��Zߐd"�d#�Z�e��d$�d%��Z�d&�d'�Z�d�S(��	TestIndex)�returncCsttd��S)NZabcde)r�list)�self�r!�@/tmp/pip-build-5_djhm0z/pandas/pandas/tests/indexes/test_base.py�create_index1szTestIndex.create_indexcCs&|j�}|d}|j|�dks"t�dS)NrT)r#Z$_can_hold_identifiers_and_holds_name�AssertionError)r �index�keyr!r!r"�test_can_hold_identifiers4sz#TestIndex.test_can_hold_identifiersr%rT)ZindirectcCsHtjt��|ddd�f}WdQRX|jdks4t�t|tj�sDt�dS)N�)�tm�assert_produces_warning�
FutureWarning�ndimr$�
isinstance�np�ndarray)r r%�	new_indexr!r!r"�
test_new_axis9szTestIndex.test_new_axis�intZuint�floatcCs |jtd�}|jjdkst�dS)N)�dtype�i)�copyr2r4�kindr$)r r%Z	new_copy2r!r!r"�test_copy_and_deepcopyAsz TestIndex.test_copy_and_deepcopycCstj||�dS)N)r)�assert_contains_all)r r%r!r!r"�test_constructor_regularFsz"TestIndex.test_constructor_regular�stringcCs.tj|�}t|�}tj||�tj||�dS)N)r.�arrayrr)r9�assert_index_equal)r r%�arrr0r!r!r"�test_constructor_castingIs
z"TestIndex.test_constructor_castingcCs^tj|�}t|ddd�}t|t�s&t�|jdks4t�tj||j�d|d<|ddksZt�dS)NT�name)r6r@ZSOMEBIGLONGSTRINGr)	r.r<rr-r$r@r)�assert_numpy_array_equal�values)r r%r>r0r!r!r"�test_constructor_copyQs
zTestIndex.test_constructor_copy�cast_as_objFz2015-01-01 10:00�D�z
US/EasternzGreen Eggs & Ham)�freq�periods�tzr@)rGrHz1 daysz
2015-01-01cCs�|rtj|jt��}n
tj|�}tj||�t|tj�r�|j|jksHt	�|r�|tj
dd�7}tj|td�}|jtj
kszt	�t|�t|�ks�t	�dS)N�2)�nanoseconds)r4)�pdr�astype�objectr)r=r-rrIr$Z	Timedeltar4r.�object_r)r rDr%�resultr!r!r"�"test_constructor_from_index_dtlikebs
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rGrHrIcCs4tjtj|��}tj||�|r0|j|jks0t�dS)N)rLrrr)r=rIr$)r r%Zhas_tzrPr!r!r"�#test_constructor_from_series_dtlike�sz-TestIndex.test_constructor_from_series_dtlikecCsDdddddg}t|dd�}ttj|��}t|dd�}tj||�dS)Nz1-1-1990z2-1-1990z3-1-1990z4-1-1990z5-1-1990�MS)rG)rrrL�to_datetimer)r=)r �dts�expected�srPr!r!r"�!test_constructor_from_series_freq�s
z+TestIndex.test_constructor_from_series_freqcCs�dddddg}t|dd�}tjtjjdd	��}||d
<t|d
dd�}|d
jtksXt�d
|_	t
j||�tj|d
d�}t
j
|d
|�tj|d
�}|dks�t�dS)Nz1-1-1990z2-1-1990z3-1-1990z4-1-1990z5-1-1990rS)rG�rF�date)r@)rrLrr.�randomZrandr4rNr$r@r)r=r�assert_series_equalZ
infer_freq)r rUrV�dfrPrGr!r!r"�'test_constructor_from_frame_series_freq�sz1TestIndex.test_constructor_from_frame_series_freqr<rY�a�b�cz
2000-01-01)rHcCs6Gdd�d�}tj|�}tj||��}tj||�dS)Nc@s&eZdZdd�Zdejd�dd�ZdS)z:TestIndex.test_constructor_ndarray_like.<locals>.ArrayLikecSs
||_dS)N)r<)r r<r!r!r"�__init__�szCTestIndex.test_constructor_ndarray_like.<locals>.ArrayLike.__init__N)rcSs|jS)N)r<)r r4r!r!r"�	__array__�szDTestIndex.test_constructor_ndarray_like.<locals>.ArrayLike.__array__)N)�__name__�
__module__�__qualname__rbr.r/rcr!r!r!r"�	ArrayLike�srg)rLrr)r=)r r<rgrVrPr!r!r"�test_constructor_ndarray_like�s
z'TestIndex.test_constructor_ndarray_likecCs,tjg}t|�}t|dd�}tj||�dS)Nr3)r4)r.�nanr
rr)r=)r �datarVrPr!r!r"�test_constructor_int_dtype_nan�sz(TestIndex.test_constructor_int_dtype_nanr4�int64�uint64cCs6tjg}d}tjt|d��t||d�WdQRXdS)Nzcannot convert)�match)r4)r.ri�pytest�raises�
ValueErrorr)r r4rj�msgr!r!r"�%test_constructor_int_dtype_nan_raises�sz/TestIndex.test_constructor_int_dtype_nan_raisescCs<tjdddg�}tj|j�}tjdddg�}tj||�dS)N�r(rF)rLrrr<r)r=)r �serrPrVr!r!r"� test_constructor_no_pandas_array�sz*TestIndex.test_constructor_no_pandas_arrayzklass,dtype,na_valzdatetime64[ns]cCsP||g}||�}|j|kst�t|�}tj||�ttj|��}tj||�dS)N)r4r$rr)r=r.r<)r �klassr4Zna_valZna_listrVrPr!r!r"�test_index_ctor_infer_nan_nat�s	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtypertr(�g�������?g������@g@�A�B�C�objcCs*t||d�}|j|j|�}tj||�dS)N)r@)rZ_simple_newrBr)r=)r �valsr4r%rPr!r!r"�test_constructor_simple_new�s	z%TestIndex.test_constructor_simple_newr~)r4g�?g@cCst|td�}t|t�st�dS)N)r4)rr2r-rr$)r r~r%r!r!r"� test_constructor_dtypes_to_int64sz*TestIndex.test_constructor_dtypes_to_int64cCst|td�}t|t�st�dS)N)r4)rr3r-r
r$)r r~r%r!r!r"�"test_constructor_dtypes_to_float64sz,TestIndex.test_constructor_dtypes_to_float64z
2011-01-01z
2011-01-02i�cCst|dd�}t|t�st�dS)N�category)r4)rr-r
r$)r r~r%r!r!r"�&test_constructor_dtypes_to_categorical!sz0TestIndex.test_constructor_dtypes_to_categorical�
cast_indexcCsH|r.t|td�}t|t�st�|jtksDt�nt|�}t|t�sDt�dS)N)r4)rrNr-r$r4r)r r�r~r%r!r!r"�#test_constructor_dtypes_to_datetime0sz-TestIndex.test_constructor_dtypes_to_datetimecCsH|r.t|td�}t|t�st�|jtksDt�nt|�}t|t�sDt�dS)N)r4)rrNr-r$r4r)r r�r~r%r!r!r"�$test_constructor_dtypes_to_timedeltaHs	z.TestIndex.test_constructor_dtypes_to_timedelta�attrrB�asi8rwcCstjddd�}t||�}|j|�}|j}|dkrBtj|�j|�}n|||d�}tj||�|dkrttj|�j|�}n|||d�}tj||�|dkr�tjt	|��j|�}n|t	|�|d�}tj||�|dkr�tjt	|��j|�}n|t	|�|d�}tj||�dS)Nz
2011-01-01rY)rHr�)rI)r4)
rLr�getattrZtz_localizer4rr)r=rMr)r Ztz_naive_fixturer�rwr%�argr4rPr!r!r"� test_constructor_dtypes_datetimeYs(

z*TestIndex.test_constructor_dtypes_datetimecCs`tjddd�}|jd�}|j}t||�}|||d�}tj||�|t|�|d�}tj||�dS)Nz1 daysrY)rH)r4)rL�timedelta_rangeZ
_with_freqr4r�r)r=r)r r�rwr%r4rBrPr!r!r"�!test_constructor_dtypes_timedelta~s

z+TestIndex.test_constructor_dtypes_timedelta�valueccs|]
}|VqdS)Nr!)�.0�_r!r!r"�	<genexpr>�szTestIndex.<genexpr>cCs(||�}t||�st�t|�s$t�dS)N)r-r$�len)r r�rw�emptyr!r!r"�test_constructor_empty�sz TestIndex.test_constructor_emptyzempty,klass)rGccs|]
}|VqdS)Nr!)r�r�r!r!r"r��s)�stepZblueZred)�levels�codescCs t||�st�t|�st�dS)N)r-r$r�)r r�rwr!r!r"�test_constructor_empty_special�sz(TestIndex.test_constructor_empty_specialcCs>d}tjt|d��"ttjtj�jdgdd�WdQRXdS)NzIThe elements provided in the data cannot all be casted to the dtype int64)rnrtrl)r4)rorp�
OverflowErrorrr.Ziinform�max)r rrr!r!r"�test_constructor_overflow_int64�sz)TestIndex.test_constructor_overflow_int64Zperiod�rangeZrepeatsrZtuplescCs|jd�dS)N�i8)�view)r r%r!r!r"�test_view_with_args�szTestIndex.test_view_with_args�unicode�categoricalzgh-25464)�reason)Zmarks�boolr�c	Cs,d}tjt|d��|jd�WdQRXdS)Nz(Cannot change data-type for object array)rnr�)rorp�	TypeErrorr�)r r%rrr!r!r"�'test_view_with_args_object_array_raises�sz1TestIndex.test_view_with_args_object_array_raisescCs6|jd�}|jd�d|_|jd�}|jdks2t�dS)Nr�rY�foobar)rM�get_locr@r$)r r%Zcastedr!r!r"�test_astype�s



zTestIndex.test_astypecCs&tdddg�jtdddg��s"t�dS)Nr_r`ra)r�equalsr$)r r!r!r"�test_equals_object�szTestIndex.test_equals_object�comp�dcCstdddg�j|�st�dS)Nr_r`ra)rr�r$)r r�r!r!r"�test_not_equals_object�sz TestIndex.test_not_equals_objectcCs4td|ddg�}ttd��jd|�}tj||�dS)Nr_r`ra�abcrt)rr�insertr)r=)r �
nulls_fixturerVrPr!r!r"�test_insert_missing�szTestIndex.test_insert_missingc	Cs@tddddgdd�}d}tjt|d��|jd	�WdQRXdS)
Nr_r`rar�r%)r@z/index 5 is out of bounds for axis 0 with size 4)rnrY)rrorp�
IndexError�delete)r r%rrr!r!r"�test_delete_raises�szTestIndex.test_delete_raisescCs�tdddg�}tdddg�}|j|�s*t�|jd�}|j|�sBt�|j|�sRt�|jd�}|j|�sjt�tddd	g�}td
ddgdd�}|j|�s�t�dS)
Nr_r`ra�fooF)�
tupleize_cols)r_r_)r_r`)r`r_)r_r_)r_r`)r`r_)r�	identicalr$�renamer�)r �i1�i2�i3�i4r!r!r"�test_identical�s

zTestIndex.test_identicalcCs@ttd��}|j|�st�|j|j�j�j�j��s8t�|jttd���sPt�|j|j��sdt�|j|jdd��s|t�|j|dd��s�t�|jtjtd���s�t�|j|j��s�t�|j�}d|_|j|�s�t�|j|�s�t�|jt|j	���st�tjtdd��}t|dd�}t|dd�}|j|��s<t�dS)N�
F)�deepZbobrt�)r6)
rr��is_r$r�r6r.r<r@rB)r �indZind2r>Zind1r!r!r"�test_is_s$zTestIndex.test_is_cCsz|d}|j|�|kst�t|j|td���s4t�|d}|j|td��|ksVt�|dj�}t|j|�t�svt�dS)Nrrt���)�asofr$rrZ
to_pydatetimer-r)r r%r�r!r!r"�	test_asof%szTestIndex.test_asofcCsBtjdddd�}td�}|jd�}||ks.t�t|t�s>t�dS)Nz
2010-01-01r(�m)rHrGz
2010-02-28z2010-02)rLrrr�r$r-r)r r%rVrPr!r!r"�test_asof_datetime_partial1s

z$TestIndex.test_asof_datetime_partialcszttd�g�jjd�d�t�fdd�td�D��}ttjjd�|d�}|j	|j
d�}tdd	�}||t|�ksvt�dS)
N�20130101r�rcsg|]}�d|�qS)rJr!)r�r5)rWr!r"�
<listcomp>:sz:TestIndex.test_nanosecond_index_access.<locals>.<listcomp>�d)r%z"2013-01-01 00:00:00.000000050+0000�ns)
rrrBr�rr�r.r[�randnr�r%rr$)r �r�xZfirst_valueZexpected_tsr!)rWr"�test_nanosecond_index_access8s
z&TestIndex.test_nanosecond_index_accesscCs�tjt|�td�}d|ddd�<||}x&t|�D]\}}|j|�|ks2t�q2W|t|�}x&t|�D]\}}|j|�|ksft�qfWdS)N)r4FrY�r()r.Zonesr�r��	enumerater�r$r)r r%Z
bool_indexZ	sub_indexr5�valr!r!r"�test_booleanindexEszTestIndex.test_booleanindexcCs>|j�}|dddg}x"|D]}|||j|�kst�qWdS)Nrtr(rF)r#r�r$)r r%�slr5r!r!r"�
test_fancySs
zTestIndex.test_fancycCsBtjg|d�}t|�g�}|gj|�s,t�||j|�s>t�dS)N)r4)r.r<�typer�r$)r r%r4Z	empty_arr�empty_indexr!r!r"�test_empty_fancyYszTestIndex.test_empty_fancyc	CsXtjgtjd�}t|�g�}|gj|�s.t�d}tjt|d��||WdQRXdS)N)r4z=arrays used as indices must be of integer \(or boolean\) type)rn)	r.r<Zfloat_r�r�r$rorpr�)r r%Z
empty_farrr�rrr!r!r"�test_empty_fancy_raisesbsz!TestIndex.test_empty_fancy_raisescCsl|dd�}|dd�}|j||d�}|dkr>tj||j��tj||�sNt�|j||d�}||ksht�dS)N�r�)�sort)�intersectionr)r=�sort_values�
equalContentsr$)r r%r��first�second�	intersect�interr!r!r"�test_intersectionoszTestIndex.test_intersectionzindex2,keeps_name��)r@�othercCsZtdddddgdd�}tdddg�}|j||�}|r:d|_|j|jksJt�tj||�dS)Nrtr(rFryrYr%)r@)rr�r@r$r)r=)r �index2�
keeps_namer��index1rVrPr!r!r"�#test_intersection_name_preservation|s	z-TestIndex.test_intersection_name_preservationz$first_name,second_name,expected_nameNc	CsD|dd�}|dd�}||_||_|j||d�}|j|ks@t�dS)NrYr�r�)r�)r@r�r$)	r r%�
first_name�second_name�
expected_namer�r�r�r�r!r!r"�$test_intersection_name_preservation2�sz.TestIndex.test_intersection_name_preservation2cCs\tdddddgdd�}tdddg�}|r.d|_|j||d�}|dkrL|j�}tj||�dS)	NrYrFr(ryrtr%)r@)r�)rr@r�r�r)r=)r r�r�r�r�rVrPr!r!r"�test_intersection_monotonic�sz%TestIndex.test_intersection_monotoniczindex2,expected_arrcCsJtddddg�}t|dd�}|j||d�}|dkr:|j�}tj||�dS)Nrzr{r|rN)r4)r�)rr�r�r)r=)r r�Zexpected_arrr�r�rVrPr!r!r"�*test_intersection_non_monotonic_non_unique�sz4TestIndex.test_intersection_non_monotonic_non_uniquecCsTtddd�tddd�g}t|td�}tdgtd�}|j||d�}t|�dksPt�dS)	Ni�r(�	�)r4�aa)r�r)rrrNr�r�r$)r r��dt_datesr�r�rPr!r!r"�test_intersect_str_dates�s
z"TestIndex.test_intersect_str_dateszNot implementedcCs:tjdddg�}tjdddg�}tj|j|dd�|�dS)Nrar_r`T)r�)rLrr)r=r�)r �idxZsorted_r!r!r"�!test_intersection_equal_sort_true�sz+TestIndex.test_intersection_equal_sort_truec
Cs�tddgdd�}tddgdd�}tdd	gd
d�}|j|j||d�|d�}|j||d�j||d�}tj||�tddgdd�}tgd
d�}tgdd�}	|j|j|	|d�|d�}|j||d�j|	|d�}tj||�dS)Nrtr(r�)r@rYr�r�rFryr�)r��j1�j2�j3)r�unionr)r=)
r r�r�r�r�r�rVr�r�r�r!r!r"�test_chained_union�szTestIndex.test_chained_unioncCs^|dd�}|dd�}|dd�}|j||d�}|dkrJtj||j��tj||�sZt�dS)NrYr�r�)r�)r�r)r=r�r�r$)r r%r�r�r��
everythingr�r!r!r"�
test_union�szTestIndex.test_union�slice_rcCsVtjdddg�}||}tj|j|�|�tj|j|�|�tj|j|dd�|�dS)Nrtrr(F)r�)rLrr)r=r�)r rr�r�r!r!r"�test_union_sort_other_special�s
z'TestIndex.test_union_sort_other_specialcCsFtjdddg�}||}|j|dd�}tjdddg�}tj||�dS)Nrtrr(T)r�)rLrr�r)r=)r rr�r�rPrVr!r!r"�test_union_sort_special_true�s
z&TestIndex.test_union_sort_special_truec	Csh|dd�}|dd�}|dd�}||j�}|j||d�}|dkrTtj||j��tj||�sdt�dS)NrYr�r�)r�)rBr�r)r=r�r�r$)	r r%rwr�r�r�r�ZcaserPr!r!r"�test_union_from_iterabless
z#TestIndex.test_union_from_iterablescCst|dd�}|j||d�}||k|ks,t�|jg|d�}||k|ksLt�tg�j||d�}||k|kspt�dS)NrYr�)r�)r�r$r)r r%r�r�r�r!r!r"�test_union_identityszTestIndex.test_union_identity�
first_listZba�second_list�abz&first_name, second_name, expected_namecCs�t||d�}t||d�}|j||d�}	t|�j|�}
|dkrrt|�dkrrt|�dkrrtt|
�|d�}tj|	|�nt|
|d�}tj|	|�s�t�dS)N)r@)r�r)	rr��setr��sortedr)r=r�r$)r rrr�r�r�r�r�r�r�r~rVr!r!r"�test_union_name_preservation!s	 z&TestIndex.test_union_name_preservationcCs�|j�}tjddd�}|j|�}|j|�}|jtjkrDtj||�}ntj||jd��}t	j
||�sft�t	j
||�svt�t	j||�t	j||�t	j||�dS)Nz
2019-01-01r�)rH�O)
r#rLrr�r4r.rO�appendrMr)r�r$r9)r r�r%�
date_indexZ	first_catZ
second_catZappendedr!r!r"�test_union_dt_as_obj7s

zTestIndex.test_union_dt_as_objcCstj||jdd���dS)NcSs|S)Nr!)r�r!r!r"�<lambda>Ksz5TestIndex.test_map_identity_mapping.<locals>.<lambda>)r)r=�map)r r%r!r!r"�test_map_identity_mappingIsz#TestIndex.test_map_identity_mappingcCsntjd�}tjd�jdd��}tdd�|D��}tj||�|jdd��}tjdd�|D��}tj||�dS)NrFcSs|fS)Nr!)r�r!r!r"rSsz0TestIndex.test_map_with_tuples.<locals>.<lambda>cSsg|]
}|f�qSr!r!)r�r5r!r!r"r�Tsz2TestIndex.test_map_with_tuples.<locals>.<listcomp>cSs||dkfS)Nrtr!)r�r!r!r"rYscSsg|]}||dkf�qS)rtr!)r�r5r!r!r"r�Zs)r)�makeIntIndexrrr=r�from_tuples)r r%rPrVr!r!r"�test_map_with_tuplesMs
zTestIndex.test_map_with_tuplescCsBdddg}tjt|dddg��}|jdd��}tj|t|��dS)	Nr��bar�bazrtr(rFcSs|dS)Nrr!)r�r!r!r"rbsz3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)rr�ziprr)r=r)r Zfirst_levelZmulti_indexZ
reduced_indexr!r!r"�test_map_with_tuples_mi]s
z!TestIndex.test_map_with_tuples_mi�
makeDateIndexZmakePeriodIndexZmakeTimedeltaIndexcCs:tt|�d�}tdgd�}|jdd��}tj||�dS)Nr�rtcSsdS)Nrtr!)r�r!r!r"rkszATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)r�r)rrr=)r r�r%rVrPr!r!r"�%test_map_tseries_indices_return_indexesz/TestIndex.test_map_tseries_indices_return_indexcCs:tjdddd�}ttd�dd�}tj||jdd���dS)N��hZhourly)rGr@)r@cSs|jS)N)�hour)r�r!r!r"rqszGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>)r)rrr�r=r)r r
rVr!r!r"�+test_map_tseries_indices_accsr_return_indexnsz5TestIndex.test_map_tseries_indices_accsr_return_index�mappercCsdd�t||�D�S)NcSsi|]\}}||�qSr!r!)r��er5r!r!r"�
<dictcomp>vsz&TestIndex.<lambda>.<locals>.<dictcomp>)r)rBr%r!r!r"rvszTestIndex.<lambda>cCstj||�S)N)rLr)rBr%r!r!r"rwscCs:tdddg�}tjd�}|j||j|��}tj||�dS)Nr�rrrF)rr)rrrBr=)r rrVr%rPr!r!r"�test_map_dictlike_simpless	
z"TestIndex.test_map_dictlike_simplecCsdd�t||�D�S)NcSsi|]\}}||�qSr!r!)r�r r5r!r!r"r!�sz&TestIndex.<lambda>.<locals>.<dictcomp>)r)rBr%r!r!r"r�scCstj||�S)N)rLr)rBr%r!r!r"r�scCs^t|t�rdS|jsdS|jr(tg�}nttjt|�dd��}|j|||��}t	j
||�dS)Nrrtr�)r-r
�	is_uniquer�rr.�aranger�rr)r=)r r%rrVrPr!r!r"�test_map_dictlike�s	

zTestIndex.test_map_dictliker�r)r%cCs4tdtjdg�}tdddg�j|�}tj||�dS)Ng@r�r(rtr)rr.rirr)r=)r rrVrPr!r!r"�)test_map_with_non_function_missing_values�sz3TestIndex.test_map_with_non_function_missing_valuescCs@tdtjdtjdg�}|jdd�dd�}|d}tj||�dS)	Ng�?rFrYcSs|dS)Nr(r!)r�r!r!r"r�sz1TestIndex.test_map_na_exclusion.<locals>.<lambda>�ignore)Z	na_actionr()rr.rirr)r=)r r%rPrVr!r!r"�test_map_na_exclusion�szTestIndex.test_map_na_exclusioncCsJtdddg�}tdd��}d|d<|j|�}tdddg�}tj||�dS)Nrtr(rFcSsdS)N�blankr!r!r!r!r"r�sz0TestIndex.test_map_defaultdict.<locals>.<lambda>�stuffr))rrrr)r=)r r%Zdefault_dictrPrVr!r!r"�test_map_defaultdict�s
zTestIndex.test_map_defaultdictz
name,expectedrcCs:tgdd�}tdddg|d�}|j|�}|j|ks6t�dS)Nr�)r@rtr(rF)rrr@r$)r r@rV�left�rightrPr!r!r"�test_append_empty_preserve_name�s
z)TestIndex.test_append_empty_preserve_namezsecond_name,expectedr@c	Csx|dd�}|dd�}|dd�}d|_||_|j||d�}tj||�sNt�|dkrf|jdkstt�n|j|kstt�dS)NrYr�r�r@)r�)r@�
differencer)r�r$)	r r%r�rVr�r�r�ZanswerrPr!r!r"�!test_difference_name_preservation�sz+TestIndex.test_difference_name_preservationcCsB|dd�}d|_|jg|�}tj||�s.t�|j|jks>t�dS)NrYr�r@)r@r/r)r�r$)r r%r�r�rPr!r!r"�test_difference_empty_arg�s
z#TestIndex.test_difference_empty_argcCsB|dd�}d|_|j||�}t|�dks.t�|j|jks>t�dS)NrYr�r@r)r@r/r�r$)r r%r�r�rPr!r!r"�test_difference_identity�s
z"TestIndex.test_difference_identitycCsP|dd�}|dd�}|j||�}|dd�}|dkr@|j�}tj||�dS)NrYr�r�)r/r�r)r=)r r%r�r�r�rPrVr!r!r"�test_difference_sort�szTestIndex.test_difference_sortcCs�tddddgdd�}tddddg�}|j||d�}tddg�}tj||�sNt�|jdks\t�|dkrl|j�}tj||�||A}tj||�s�t�|jdks�t�dS)	NrYr(rFryr�)r@rt)r�)r�symmetric_differencer)r�r$r@r�r=)r r�r�r�rPrVr!r!r"�test_symmetric_difference�sz#TestIndex.test_symmetric_difference�opnamer/r4cCs�tjdtjd�dg�}tjdtjd�dg�}tj||�}||�}tjdtjd�dtjd�g�}|dkrr|dd�}tj||�tj||dd�}||�}tj||�dS)	NrF�2000rtr(�1999r/F)r�)rLrr�operator�methodcallerr)r=)r r6r_r`�oprPrVr!r!r"�test_difference_incomparable�sz&TestIndex.test_difference_incomparablec	Csbtjdtjd�dg�}tjdtjd�dg�}tj||dd�}tjtdd	��||�WdQRXdS)
NrFr7rtr(r8T)r�zCannot compare)rn)rLrrr9r:rorpr�)r r6r_r`r;r!r!r"�!test_difference_incomparable_trues
z+TestIndex.test_difference_incomparable_truecCsxtjtdddgdddg��}tjdd	g�}|j||d�}tjd
ddg�}|dkrX|j�}tj||�tj||�stt�dS)
Nr�rrrtr(rF)r�)r�rt)rrF)rr()rrF)rrF)	rrrr4r�r)r=r�r$)r r�r�r�rPrVr!r!r"�test_symmetric_difference_misz&TestIndex.test_symmetric_difference_mizindex2,expectedgcCs@tdtjddg�}|j||d�}|dkr0|j�}tj||�dS)Nrtr(rF)r�)rr.rir4r�r)r=)r r�rVr�r�rPr!r!r"�!test_symmetric_difference_missing&s

z+TestIndex.test_symmetric_difference_missingcCs�tddddgdd�}tjddddg�}tddg�}|j||d�}tj||�sPt�|jdks^t�|j|d	|d
�}tj||�s~t�|jd	ks�t�dS)Nrtr(rFryr�)r@rY)r��new_name)Zresult_namer�)rr.r<r4r)r�r$r@)r r�r�r�rVrPr!r!r"�#test_symmetric_difference_non_index7sz-TestIndex.test_symmetric_difference_non_indexcCs2|js
dS|j||d�}|j|�}tj||�dS)N)r�)r#r/�dropr)r=)r r%r�rPrVr!r!r"�test_difference_typeCs

zTestIndex.test_difference_typecCs8|js
dS|j|j|��}|j||d�}tj||�dS)N)r�)r#r�rBr/r)r=)r r%r�r�Zdiffr!r!r"�test_intersection_differenceMs
z&TestIndex.test_intersection_differencec	Cs*|j�}tjt��|j�WdQRXdS)N)r#r)r*r+Zis_mixed)r r%r!r!r"�test_is_mixed_deprecatedXsz"TestIndex.test_is_mixed_deprecatedzindex, expectedcCs|j�|kst�dS)N)Z
is_numericr$)r r%rVr!r!r"�test_is_numeric^s
zTestIndex.test_is_numericcCs|j�|kst�dS)N)Z	is_objectr$)r r%rVr!r!r"�test_is_objectms
zTestIndex.test_is_objectcCs|j|kst�dS)N)Zis_all_datesr$)r r%rVr!r!r"�test_is_all_dates|s
zTestIndex.test_is_all_datescCs|jtj|�dS)N)�_check_method_worksr�_summary)r r%r!r!r"�test_summary�szTestIndex.test_summarycCs4tddgdd�}|j�}d|ks$t�d|ks0t�dS)Nz	{other}%sz~:{range}:0rz)r@)rrJr$)r r�rPr!r!r"�test_summary_bug�szTestIndex.test_summary_bugcCs(tddg�}ddg}|j�|ks$t�dS)NZ	aaaaaaaaar`)r�formatr$)r r�rVr!r!r"�$test_format_different_scalar_lengths�sz.TestIndex.test_format_different_scalar_lengthscCsRtj�}t|�jd�sBt|g�}|j�}t|d�g}||ksBt�tg�j�dS)NZ000r)r�now�str�endswithrrMr$)r rOr%�	formattedrVr!r!r"�test_format_bug�s
zTestIndex.test_format_bugy@g@cCsft|�}|j|�t|�}|j�}t|d�t|d�t|d�dg}||ksRt�|d|ksbt�dS)Nrrtr(�NaNrF)rrrrMrPr$)r r~r�r%rRrVr!r!r"�test_format_missing�s
$zTestIndex.test_format_missingcCs.tdddd�}|jdd�}|ddks*t�dS)Nz2011-01-01 04:00:00r�Z	something)rHr@T)r@r)rrMr$)r �datesrRr!r!r"�test_format_with_name_time_info�sz)TestIndex.test_format_with_name_time_infocCsNttddd�tdddd�g�}|j�}ddg}t|�dks>t�||ksJt�dS)Ni�r(r��z2012-02-07 00:00:00z2012-02-07 23:00:00)rrrMr�r$)r �trPrVr!r!r"�test_format_datetime_with_time�s
z(TestIndex.test_format_datetime_with_timer;�any�allcCs*|j�}t||��t|j|��ks&t�dS)N)r#r�rBr$)r r;r%r!r!r"�test_logical_compat�szTestIndex.test_logical_compatcCs||�dS)Nr!)r �methodr%r!r!r"rI�szTestIndex._check_method_workscCsPtdddddg�}tdddg�}|j|�}tjdddgtjd�}tj||�dS)	Nrtr(rFryrYr�)r4r�)r�get_indexerr.r<�intpr)�assert_almost_equal)r r�r�Zr1Ze1r!r!r"�test_get_indexer�s

zTestIndex.test_get_indexer�reversezexpected,method�padZffill�backfillZbfillcCs^tdddddg�}tdddg�}|r@|ddd�}|ddd	�}|j||d�}tj||�dS)
Nrtr(rFryrYr�)r^r�r�)rr_r)ra)r rcrVr^r�r�rPr!r!r"�test_get_indexer_methods�sz"TestIndex.test_get_indexer_methodscCsjttjd��}tjtdd��|jddgdd�WdQRXtjtdd��|jddgdd�WdQRXdS)	Nr�ztolerance argument)rnrtr)�	tolerancezlimit argument)�limit)rr.r$rorprqr_)r r%r!r!r"�test_get_indexer_invalid�s
z"TestIndex.test_get_indexer_invalidz$method, tolerance, indexer, expectedr��nearestg�������?g������?g!@�cCs:ttjd��}|j|||d�}tj|tj|tjd��dS)Nr�)r^rg)r4)rr.r$r_r)rAr<r`)r r^rgZindexerrVr%�actualr!r!r"�test_get_indexer_nearest�sz"TestIndex.test_get_indexer_nearest�listtypeztolerance, expectedg333333�?g�������?g�?cCsDttjd��}|jdddgd||�d�}tj|tj|tjd��dS)Nr�g�������?g������?g!@rj)r^rg)r4)rr.r$r_r)rAr<r`)r rgrVrnr%rlr!r!r"�+test_get_indexer_nearest_listlike_tolerances
z5TestIndex.test_get_indexer_nearest_listlike_tolerancecCstttjd��}tjtdd��|jddgddd�WdQRXtjtdd�� |jddgddd	d
gd�WdQRXdS)Nr�zlimit argument)rnrtrrj)r^rhztolerance size must matchr(rF)r^rg)rr.r$rorprqr_)r r%r!r!r"�test_get_indexer_nearest_error#s
z(TestIndex.test_get_indexer_nearest_errorzmethod,expectedcCszttjd��ddd�}|jdddg|d�}tj|tjdddgtjd��|jd	d
dg|d�}tj|tj|tjd��dS)
Nr�rtrrYr�)r^ry)r4g�������?g������?g!@r�)rr.r$r_r)rAr<r`)r r^rVr%rlr!r!r"�#test_get_indexer_nearest_decreasing+s
z-TestIndex.test_get_indexer_nearest_decreasingcCs4tjddg�}|jddddg|d�}tj||�dS)Nr`rar_r�)r^)rLrr_r)rA)r r^rVr%rlr!r!r"�test_get_indexer_strings8sz"TestIndex.test_get_indexer_stringscCs�tjddg�}d}tjt|d��|jddddgdd�WdQRXtjt|d��|jddddgd	d
d�WdQRXtjt|d��&|jddddgd	d
d
d
d
gd�WdQRXdS)Nr`raz4unsupported operand type\(s\) for -: 'str' and 'str')rnr_r�rj)r^rdr()r^rg)rLrrorpr�r_)r r%rrr!r!r"�test_get_indexer_strings_raisesEs "z)TestIndex.test_get_indexer_strings_raises�	idx_classcCsB|td��}|jdddg�}tjdddgtjd�}tj||�dS)	NryTFrt)r4r�r�r�)rr_r.r<r`r)rA)r rtZ
numeric_indexrPrVr!r!r"�-test_get_indexer_numeric_index_boolean_targetTsz7TestIndex.test_get_indexer_numeric_index_boolean_targetcCsb||krdStj||gtd�}tj|td�}|j||dg�}tjdddgtjd�}tj||�dS)N)r4�Unknownrrtr�)	r.r<rNrLrr_r`r)rA)r Zunique_nulls_fixtureZunique_nulls_fixture2r>r%rPrVr!r!r"�test_get_indexer_with_NA_values]sz)TestIndex.test_get_indexer_with_NA_valuesr^cCsFtjdddg�}|jd|d�dks&t�|rB|jd|dd�dksBt�dS)Nrrtr()r^)r^rg)rLrr�r$)r r^r%r!r!r"�test_get_locmszTestIndex.test_get_loccCsNtjdddg�}|rd}nd}tjt|d��|jddg|d�WdQRXdS)Nrrtr(znot supported betweenzinvalid key)rn)r^)rLrrorpr�r�)r r^r%rrr!r!r"�test_get_loc_raises_bad_labelusz'TestIndex.test_get_loc_raises_bad_labelz
method,loccCs@tjdddg�}|jd|�|ks$t�|jd|dd�|ks<t�dS)Nrrtr(g�������?)rg)rLrr�r$)r r^�locr%r!r!r"�test_get_loc_tolerance�sz TestIndex.test_get_loc_tolerancecCs>tjdddg�}tjtdd��|jd|dd�WdQRXdS)	Nrrtr(z1.1)rng�������?g�������?)rg)rLrrorp�KeyErrorr�)r r^r%r!r!r"�%test_get_loc_outside_tolerance_raises�sz/TestIndex.test_get_loc_outside_tolerance_raisescCs>tjdddg�}tjtdd��|jdddd	�WdQRXdS)
Nrrtr(zmust be numeric)rng�������?rj�invalid)rg)rLrrorprqr�)r r%r!r!r"�!test_get_loc_bad_tolerance_raises�sz+TestIndex.test_get_loc_bad_tolerance_raisescCs<tjdddg�}tjtdd��|jddd�WdQRXdS)Nrrtr(ztolerance .* valid if)rng�������?)rg)rLrrorprqr�)r r%r!r!r"�'test_get_loc_tolerance_no_method_raises�sz1TestIndex.test_get_loc_tolerance_no_method_raisescCsBtjdddg�}tjtdd��|jddddgd�WdQRXdS)	Nrrtr(ztolerance size must match)rng�������?rj)rg)rLrrorprqr�)r r%r!r!r"�&test_get_loc_raises_missized_tolerance�sz0TestIndex.test_get_loc_raises_missized_tolerancecCs:tjddg�}tjtdd��|jddd�WdQRXdS)Nr_razunsupported operand type)rnrj)r^)rLrrorpr�r�)r r%r!r!r"�"test_get_loc_raises_object_nearest�sz,TestIndex.test_get_loc_raises_object_nearestcCs<tjddg�}tjtdd��|jdddd�WdQRXdS)Nr_razunsupported operand type)rnrdr~)r^rg)rLrrorpr�r�)r r%r!r!r"�$test_get_loc_raises_object_tolerance�sz.TestIndex.test_get_loc_raises_object_tolerancec
Cs�ttjddddddddg|d	��}t|�}|jdd
�d|fksBt�|jdd
�d|fksZt�|jdd�dksnt�|jdd�d|fks�t�|jdd
�dks�t�|jdd
�dks�t�|ddd�}|jdd�dks�t�|jdd�dks�t�dS)Nrrtr(rYr�r�r�r�)r4)�startrFrk)�end)rFr�)rr�)rr�r�)r(r�)r(rY)rr.r<r��
slice_locsr$)r r4r%�nr�r!r!r"�test_slice_locs�s"zTestIndex.test_slice_locsc
Cs�ttjddddddddg|d	��}t|�}|jd
d�d|fksBt�|jd
d�dksVt�|ddd�}|jdd�dksxt�|jdd�d|fks�t�dS)Nrrtr(rYr�r�r�r�)r4g@g$@rFg@g%@rkg!@g�?)rFrkr�)r(r�r�)rr.r<r�r�r$)r r4r%r�r�r!r!r"�test_slice_float_locs�s"zTestIndex.test_slice_float_locscCs�tddddddg�}|jdd�dks(t�|jdd�dks<t�|jdd�d
ksPt�|jdd�dksdt�|ddd�}|jdd�dks�t�|jdd�dks�t�|jdd�dks�t�|jdd�dks�t�dS)Nr_r`rar�rr�)r�ryr(rt)rr�)rr�)rry)r(r�r�)rr�)rr�)rry)r(r�)rr�r$)r r%r�r!r!r"�test_slice_locs_dup�szTestIndex.test_slice_locs_dupcCs|ttjddddg|d��}|jdd�d	ks.t�|jdd�d
ksBt�|ddd�}|jdd�dksdt�|jdd�d
ksxt�dS)Nr���)r4rtrFr��
)rtrF)rtrFr�)rtrF)rtrF)rr.r<r�r$)r r4r%r�r!r!r"�test_slice_locs_dup_numeric�sz%TestIndex.test_slice_locs_dup_numericcCsdttjddg�}|jd�dks"t�|jtj�dks6t�tdtjtjddg�}|jtj�dks`t�dS)	Nrtr(rFrrY)rtrF)rrF)rtrY)rr.rir�r$)r r%r!r!r"�test_slice_locs_na�s
zTestIndex.test_slice_locs_nacCs`ttjddg�}tjtdd��|jdd�WdQRXtjtdd��|jdd�WdQRXdS)Nrtr(�)rng�?)r�)r�)rr.rirorpr|r�)r r%r!r!r"�test_slice_locs_na_raises�s
z#TestIndex.test_slice_locs_na_raiseszin_slice,expectedZyxdcb�yr�ZybZydb�zZycr�ZdcbZyxcCsRttd��}|j|j|j|j�\}}||||j�}tjt|��}tj||�dS)NZbcdxy)	rrr�r��stopr�rLr)r=)r Zin_slicerVr%Zs_startZs_stoprPr!r!r"�test_slice_locs_negative_step�s
z'TestIndex.test_slice_locs_negative_stepcCsxt|�}|ttdd��}|j|�}|ttd��ttd|��}tj||�|j|d�}|dd�}tj||�dS)NrYr�rrt)r�rr�rBr)r=)r r%r�rB�droppedrVr!r!r"�test_drop_by_str_labels
z TestIndex.test_drop_by_str_label�keys�1c	Cs(tjtdd��|j|�WdQRXdS)Nr�)rn)rorpr|rB)r r%r�r!r!r"�*test_drop_by_str_label_raises_missing_keyssz4TestIndex.test_drop_by_str_label_raises_missing_keyscCs�t|�}|ttdd��}|j�dg}|j|dd�}|ttd��ttd|��}tj||�|jddgdd�}|tt|��}tj||�dS)NrYr�r�r')�errorsr)r�rr��tolistrBr)r=)r r%r�rB�mixedr�rVr!r!r"�$test_drop_by_str_label_errors_ignoresz.TestIndex.test_drop_by_str_label_errors_ignorecCs4tdddg�}|jd�}tddg�}tj||�dS)Nrtr(rF)rrBr)r=)r r%r�rVr!r!r"�test_drop_by_numeric_label_loc)s
z(TestIndex.test_drop_by_numeric_label_locc
Cs:tdddg�}tjtdd��|jddg�WdQRXdS)Nrtr(rFr�)rnry)rrorpr|rB)r r%r!r!r"�.test_drop_by_numeric_label_raises_missing_keys1sz8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedcCs,tdddg�}|j|dd�}tj||�dS)Nrtr(rFr')r�)rrBr)r=)r r&rVr%r�r!r!r"�(test_drop_by_numeric_label_errors_ignore6sz2TestIndex.test_drop_by_numeric_label_errors_ignore�to_dropc	
Cs�tj|�}tjdg�}|j|�}tj||�|j|d�}x0|d|dgfD]}|j|�}tj||�qNW|j|d�}dtj|dj���d�}x>|d|dgfD](}tj	t
|d��|j|�WdQRXq�WdS)Nr`rrtz\"\[z\] not found in axis\")rn)rLrrBr)r=�re�escape�__repr__rorpr|)	r rBr�r%rVrP�removedZdrop_merrr!r!r"�test_drop_tuple?s


zTestIndex.test_drop_tuplezmethod,expected,sortr��num�let�a1r�c	Cs�ttjddd
dgdtfdgd��}ttjddddddgdtfdgd��}t||�||d
�}|jdksht�t|�}tj||�dS)Nrtrzr(r{r�r�r�)r4r|)r�)rtrz)r(rz)rtr{)r(r{)r�r�)rtrz)r(rz)rtr{)r(r{)rtr|)r(r|)r�r�)	rr.r<r2r�r,r$r)r=)r r^rVr�r�r�rPr!r!r"�test_tuple_union_bugWs
zTestIndex.test_tuple_union_bug�is_monotonic_increasing�is_monotonic_decreasing�!_is_strictly_monotonic_increasing�!_is_strictly_monotonic_decreasingcCs&tdtj�dg�}t||�s"t�dS)NrYr�)rrrOr�r$)r r�r%r!r!r"�test_is_monotonic_incomparable�s
z(TestIndex.test_is_monotonic_incomparablecCsT|j�}tjdddg�}tjt��|j||dd�WdQRX|ddksPt�dS)Nrtr(rF�P)r#r.r<r)r*r+Z	set_valuer$)r r�r>r!r!r"�test_set_value_deprecated�s
z#TestIndex.test_set_value_deprecatedcCs�tjjd�}|d}tjtdd��(tjt��|j	||�WdQRXWdQRXtjt��|j	t
||d�|�}WdQRXtj||d�dS)Nr��Czhas no attribute '_values')rn)r%)r.r[r�rorp�AttributeErrorr)r*r+�	get_valuerra)r r%rBr�rPr!r!r"�test_get_value�s zTestIndex.test_get_valueZquuxzindex,expectedZquxcCs|j|�}tj||�dS)N)�isinr)rA)r rBr%rVrPr!r!r"�	test_isin�s	
zTestIndex.test_isincCs�t|t�rPt|t�rPtj|�rPtj|�rPtjtd|g�j|g�tj	ddg��nV||kr�tjtd|g�j|g�tj	ddg��n&tjtd|g�j|g�tj	ddg��dS)Nr_FT)
r-r3�math�isnanr)rArr�r.r<)r r�Znulls_fixture2r!r!r"�test_isin_nan_common_object�s



z%TestIndex.test_isin_nan_common_objectcCs||tjkrtjd�|tjkr(tjd�tjtd|g�j	t
jg�t
jddg��tjtd|g�j	tjg�t
jddg��dS)Nz'pd.NaT not compatible with Float64Indexz!Float64Index cannot contain pd.NAg�?FT)
rL�NaTro�skipZNA�xfailr)rAr
r�r.rir<)r r�r!r!r"�test_isin_nan_common_float64�s



$z&TestIndex.test_isin_nan_common_float64�levelcCs^|j�dd�dg}tjddddg�}tj||j||d��d|_tj||j|dd��dS)Nr(ZnonexistingFT)r�r����)r�r.r<r)rAr�r@)r r�r%rBrVr!r!r"�test_isin_level_kwarg�s

zTestIndex.test_isin_level_kwargcCsJxDd|j|jdgD],}tjtdd��|jg|d�WdQRXqWdS)Nr�rtzToo many levels)rn)r�)Znlevelsrorpr�r�)r r%r�r!r!r"�&test_isin_level_kwarg_bad_level_raises�sz0TestIndex.test_isin_level_kwarg_bad_level_raises�labelr�ZxyzzycCsvt|t�r4|jddg|jdd��}d|�d�}n|jd�}d|�d�}tjt|d��|jg|d	�WdQRXdS)
Nr�rr(z'Level z not found'zRequested level \(z$\) does not match index name \(foo\))rn)r�)r-rr��namesrorpr|r�)r r�r%rrr!r!r"�&test_isin_level_kwarg_bad_label_raises�s

z0TestIndex.test_isin_level_kwarg_bad_label_raisescCs4tddg�}tjddg�}|j|�}tj||�dS)Nr_r`F)rr.r<r�r)rA)r r�r%rVrPr!r!r"�test_isin_empty	s
zTestIndex.test_isin_emptyz
2018-01-01cCs6t|�}||k}tjddddgtd�}tj||�dS)NT)r4)rr.r<r�r)rA)r rBr%rPrVr!r!r"�test_boolean_cmpszTestIndex.test_boolean_cmpz
name,levelcCs,|j�}|r||_|j|�}tj||�dS)N)r6r@Zget_level_valuesr)r=)r r%r@r�rVrPr!r!r"�test_get_level_values#s

zTestIndex.test_get_level_valuescCs,tddgdd�}|j|dd�jks(t�dS)Nr_r`Zasdf)r@rt)rr@r$)r r%r!r!r"�test_slice_keep_name-szTestIndex.test_slice_keep_namecCs|j||d�}||kst�dS)N)�how)�joinr$)r r%Z	join_typeZjoinedr!r!r"�test_join_self1szTestIndex.test_join_self�strip�rstrip�lstripcsFtddddg�}t�fdd�|jD��}t|j���}tj||�dS)Nz jackzjill z jesse Zfrankcsg|]}tt��|��qSr!)r�rP)r�r�)r^r!r"r�>sz0TestIndex.test_str_attribute.<locals>.<listcomp>)rrBr�rPr)r=)r r^r%rVrPr!)r^r"�test_str_attribute:szTestIndex.test_str_attributer��3r7Z2010)r�r�rGc	Cs*tjtdd��|jjd�WdQRXdS)Nzonly use .str accessor)rnr()rorpr�rP�repeat)r r%r!r!r"�test_str_attribute_raisesCs
z#TestIndex.test_str_attribute_raiseszexpand,expectedr �fcCs@tdddg�}|dk	r&|jj|d�}n
|jj�}tj||�dS)Nza b czd er�)�expand)rrP�splitr)r=)r r�rVr%rPr!r!r"�test_str_splitPs

zTestIndex.test_str_splitcCsNtddddg�}|jjd�}tjddddg�}tj||�t|tj�sJt	�dS)Nr��a2�b1�b2r_TF)
rrP�
startswithr.r<r)rAr-r/r$)r r%rPrVr!r!r"�test_str_bool_returnfs
zTestIndex.test_str_bool_returncCsVtddddg�}ttd�|d�}||jjjd�}ttd�ddgd�}tj||�dS)	Nr�r�r�r�ry)r%r_r()rrr�r%rPr�r)r\)r r%rWrPrVr!r!r"�test_str_bool_series_indexingos
z'TestIndex.test_str_bool_series_indexingZabcdcCsdt|�k}||kst�dS)NrP)�dirr$)r r%rVrPr!r!r"�test_tab_completionwszTestIndex.test_tab_completioncCsdtddddddg�}|dd�jtjddgtjd��s:t�|ddgjtjddgtjd��s`t�dS)	Nrtr(rFr_r`ra)r4r)rr�rLr.rOr$)r r%r!r!r"�!test_indexing_doesnt_change_classs&z+TestIndex.test_indexing_doesnt_change_classcCszttjjd��}tjd�}tjt��|j|dd�}WdQRXtjt��|j	t
�j|j	t
��}WdQRXtj||�dS)N�r��outer)r�)
rr.r[Zpermutationr)rr*�RuntimeWarningr�rMrNr�r=)r Z
left_indexZright_indexrPrVr!r!r"�test_outer_join_sort�s
 zTestIndex.test_outer_join_sortcCsRttjtd�td�g�}|jdddg�}t|d|d|dg�}tj||�dS)Nr�Z20130102rtrr�r�)rrLr�r�taker)r=)r r%rPrVr!r!r"�test_nan_first_take_datetime�sz&TestIndex.test_nan_first_take_datetimecCs�tjtd�dd�}|jtjdddg��}tjtd�dd�}tj||�|jtjdddg�dd�}tjd	d
tjgdd�}tj||�|jtjdddg�ddd�}tjd	d
d
gdd�}tj||�dS)N�ABC�xxx)r@rtrZBACT)�
fill_valuer{rzF)Z
allow_fillr�r|r�r�r�)	rLrrr�r.r<r)r=ri)r r%rPrVr!r!r"�test_take_fill_value�szTestIndex.test_take_fill_valuecCs�tjtd�dd�}d}tjt|d�� |jtjdddg�d	d
�WdQRXtjt|d�� |jtjddd
g�d	d
�WdQRXdS)Nr�r�)r@zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1)rnrtrr(T)r�rYr����)	rLrrrorprqr�r.r<)r r%rrr!r!r"� test_take_fill_value_none_raises�s$z*TestIndex.test_take_fill_value_none_raisescCsDtjtd�dd�}tjtdd��|jtjddg��WdQRXdS)	Nr�r�)r@z
out of bounds)rnrtrYr�)	rLrrrorpr�r�r.r<)r r%r!r!r"�test_take_bad_bounds_raises�sz%TestIndex.test_take_bad_bounds_raises�labelsr�cCs2tjdddg�}||_|j|�dj|ks.t�dS)Nrrtr()rLrr@�reindexr$)r r@r�r%r!r!r"�8test_reindex_preserves_name_if_target_is_list_or_ndarray�szBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarraycCs.tjtd��}|j|�djjtjks*t�dS)Nr�r)	rLrrr�r4r�r.rOr$)r r�r%r!r!r"�<test_reindex_preserves_type_if_target_is_empty_list_or_array�szFTestIndex.test_reindex_preserves_type_if_target_is_empty_list_or_arrayzlabels,dtypecCs,tjtd��}|j|�djj|ks(t�dS)Nr�r)rLrrr�r4r�r$)r r�r4r%r!r!r"�:test_reindex_doesnt_preserve_type_if_target_is_empty_index�s
zDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_indexcCsltjtd��}|jtjtjg�tjg�gggg��d}|jdjj	t
jksPt�|jdjj	t
j
ksht�dS)Nr�rrt)rLrrr�rrr
r�r4r�r.rlr$�float64)r r%rPr!r!r"�-test_reindex_no_type_preserve_target_empty_mi�s z7TestIndex.test_reindex_no_type_preserve_target_empty_micCsVttd��}|jtjdddddg��}tjddg�tjdddg�d�}tj||�dS)NrYrtr(rrFry)rtr()rr��groupbyr.r<rLr)Zassert_dict_equal)r r%rPrVr!r!r"�test_groupby�s zTestIndex.test_groupbyzmi,expectedcCs0tjtd�ddgd�}|j|k}tj||�dS)Nza,b,c
1,2,3
4,5,6rrt)�	index_col)rL�read_csvrr%r)rA)r �mirVr]rPr!r!r"�test_equals_op_multiindex�s

z#TestIndex.test_equals_op_multiindexcCs@tjtd�ddgd�}|j|jk}tjddg�}tj||�dS)Nza,b,c
1,2,3
4,5,6rrt)r�T)rLr�rr%r.r<r)rA)r r]rPrVr!r!r"�"test_equals_op_multiindex_identifysz,TestIndex.test_equals_op_multiindex_identifyc	Cs>tjtd�ddgd�}tjtdd��|j|kWdQRXdS)Nza,b,c
1,2,3
4,5,6rrt)r�zLengths must match)rn)rLr�rrorprqr%)r r%r]r!r!r"�+test_equals_op_mismatched_multiindex_raisessz5TestIndex.test_equals_op_mismatched_multiindex_raisescCsFtjddd
g�}tddd	g�}||k}tjd
d
d
g�}tj||�dS)Nrtr(ryrYrkr�r�rrF)rtr()ryrY)rkr�)rrrr.r<r)rA)r r�r%rPrVr!r!r"�&test_equals_op_index_vs_mi_same_lengths
z0TestIndex.test_equals_op_index_vs_mi_same_length�dt_convcCs*tjddgdd�}|j||�jks&t�dS)Nz01:02:03z01:02:04r�)r@)rLrr@r$)r r�r%r!r!r"�!test_dt_conversion_preserves_namesz+TestIndex.test_dt_conversion_preserves_nameZbb�cccz)Index(['a', 'bb', 'ccc'], dtype='object')z�Index(['a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc',
       'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc',
       'a', 'bb', 'ccc', 'a', 'bb', 'ccc'],
      dtype='object')r�z�Index(['a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a',
       ...
       'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc'],
      dtype='object', length=300)uあuいいu	うううu5Index(['あ', 'いい', 'ううう'], dtype='object')uWIndex(['あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう',
       'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう',
       'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう'],
      dtype='object')uIndex(['あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ',
       ...
       'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう'],
      dtype='object', length=300)cCst|�}||kst�dS)N)�reprr$)r r%rVrPr!r!r"�test_string_index_repr#s=z TestIndex.test_string_index_repru^Index(['あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう',
       'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう',
       'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう',
       'あ', 'いい', 'ううう'],
      dtype='object')uIndex(['あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう',
       'あ',
       ...
       'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい',
       'ううう'],
      dtype='object', length=300)c	Cs0tjdd��t|�}||ks"t�WdQRXdS)Nz display.unicode.east_asian_widthT)�cf�option_contextrr$)r r%rVrPr!r!r"�*test_string_index_repr_with_unicode_optioncs)z4TestIndex.test_string_index_repr_with_unicode_optionc	Cs4tjdddg�}tjtdd��d|_WdQRXdS)Nrtr(rFzCan't set attribute)rnF)rLrrorpr�r#)r r%r!r!r"�#test_cached_properties_not_settable�sz-TestIndex.test_cached_properties_not_settablec�s�tjddd�ddlm}d}|j|�IdHddl}|jdkrLtjd�}ntjt	dd	�}|�,|d
��t
|jjdd��WdQRXWdQRXdS)
NZIPythonz6.0.0)Z
minversionr)�provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])z0.16.0F)Zcheck_stacklevelr'zidx.ry)
roZimportorskipZIPython.core.completerrZrun_code�jedi�__version__r)r*�DeprecationWarningrZ	CompleterZcompletions)r �ipr�coder	�warningr!r!r"�test_tab_complete_warning�s


z#TestIndex.test_tab_complete_warningc	CsRt|tj�r|jd�n6dt|�j�d�}tjt|d��|jd�WdQRXdS)Nrt�'z$' object has no attribute 'contains')rn)	r-rL�
IntervalIndex�containsr�rdrorpr�)r r%rrr!r!r"�test_contains_method_removed�s
z&TestIndex.test_contains_method_removed)rzrzrz)rzr{N)Nr{N)rzr{N)Nr{N)rzNNr�r�)r�r�)rN)NN)r@r@)r;F)r�F)r�F)r2T)rF)r3T)r;T)r�T)r�F)r2F)rF)r3F)r;F)r�F)r�F)r2F)rT)r3Fy@@r�r�r�r�r�r�r�r�r�r�r�r�r�)rdrt)rer()rjrtr�r�r�r�r�r����r�r�r����r�r�r�r�r�)rar�)rar�)rar�)rar�)rar�)rtrz)r(rz)rtr{)r(r{)r�r�)rtrz)rtr{)r(rz)r(r{)r�r�)rtrz)rtr{)rtr|)r(rz)r(r{)r(r|)r�r�r�)Nr)r_r_)r�r�)rr�)r_r`ra)rtr()ryrY)rtr()ryr�)rtr()ryrY)rkr�)�rdrerfr�_holderr#r'ro�mark�parametrizer1r8r:r?rCrLrr�rrQrRrXr^r.r$r<rBrhrkrsrvr
r�rirr�rxrr2r3r�r�rrr�r�Ztimedelta64rr�r�rr��iterrrr
r�rrrr�r�r��paramr�r�r�r�r�r�r�r�r�r�r�r�r�r��int_Zbool_r�r�r�r�r�r�r�r�r�r�r��slicerrrrrrr
rrrrrrr"r%r&r(r+r.r0r1r2r3r5r<r=r>r?rArCrDrErFrGrHrKrLrNrSrUrWrZr]rIrbr`rfrirm�tuplerrorprqrrrsrurwrxryr{r}rr�r�r�r�r�r�r�r�r�r�Z
IndexSlicer�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rNr�r�r�r�r�r�r�r)rrr�r�r�r�r�r�r�r�r�r�r�r�r�rlr�Z
datetime64r�r�r�r�r�r�r�rT�to_timedeltarrrrrrrr!r!r!r"r.s�  
  $* $  ,	.
  

"&2	"
$

6	 	 	 
$&
0

.
$  2
      $$4	,:D0	"	**"(

,$
,$:".  "($*,	

"
&	(	

$  6	4&	4 0	$
rc
@s�eZdZeZejddddddggdgd�d	d
��Zed�dd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zejjdddg�ejjddedg�ejjd ddd!gddd!gfd"d#d$gd"d#d$gfd"d#ejd$gd"d#d$gfd%d&d'gd%d&d'gfd%ejd&d'gd%d&d'gfg�d(d)����Zejjdddg�ejjd*ejd+d,d-g�ejd+d,d-g�fejd+d,d-ejg�ejd+d,d-g�fejd.d/d0g�ejd.d/d0g�fejejd.d/d0ejg�ejd.d/d0g�fejd1d2d3gd4d5�ejd1d2d3gd4d5�fejd1d2d6d3gd4d5�ejd1d2d3gd4d5�fg�d7d8���Zd9d:�Zd;d<�Zejjd=ejejg�ejejdg�ejddejg�ejddejg�ejd6g�ejd6d>g�ejd>d6d?g�ejd@d6g�g�dAdB��ZdCdD�Z ejjdEe!e"g�dFdG��Z#dHdI�Z$dJdK�Z%dLdM�Z&ejj'dN�dOdP��Z(dS)Q�TestMixedIntIndexrr_rtr`r(raZ
mixedIndex)�params�idscCs
t|j�S)N)rr)r �requestr!r!r"r%�szTestMixedIntIndex.index)rcCstddddddg�S)Nrr_rtr`r(ra)r)r r!r!r"r#�szTestMixedIntIndex.create_indexc	Cs.|j�}tjtdd��|j�WdQRXdS)Nz'>|<' not supported)rn)r#rorpr��argsort)r r%r!r!r"�test_argsort�szTestMixedIntIndex.test_argsortc	Cs0|j�}tjtdd��tj|�WdQRXdS)Nz'>|<' not supported)rn)r#rorpr�r.r#)r r%r!r!r"�test_numpy_argsort�sz$TestMixedIntIndex.test_numpy_argsortcCs�|j�}t|�|ddd�}t|�|dd�}||k	s6t�tj||�|jdksPt�|jdks^t�td|d�}td|dd
�d�}||}|jjdks�t�dS)NTZmario)r6r@F)r6r()r%rFrtr�)r#r�r$r)r=r@rr%)r r%r�r��s1�s2Zs3r!r!r"�test_copy_name�sz TestMixedIntIndex.test_copy_namecCs�tjddgdd�}|j�}tj||�|jdd�}tj||dd�|jdksPt�|jdks^t�|jdgd�}tj||dd�|jdks�t�|jdgks�t�|jdks�t�|jdgks�t�dS)	Nrtr(ZMyName)r@ZNewNameF)Zcheck_names)r�)rLrr6r)r=r@r$r�)r r%r�r�Zindex3r!r!r"�test_copy_name2�sz!TestMixedIntIndex.test_copy_name2cCsFtjdtjddgdd�}tjdtjdgdd�}|j�}tj||�dS)Nr(rtZmy_index)r@)rLrr.ri�uniquer)r=)r r�rVrPr!r!r"�test_unique_na�sz TestMixedIntIndex.test_unique_nacCs8|j�}|j�|jj�kst�|j�|jj�ks4t�dS)N)r#r\rBr$r[)r r%r!r!r"r]�sz%TestMixedIntIndex.test_logical_compatr�r[r\r4Nr�z
vals,expectedrFg�?g@g@rzr{r|cCs8tj||d�}|j|d�}tj||d�}tj||�dS)N)r4)r�)rLr�dropnar)r=)r r�r4r~rVr%rPr!r!r"�test_dropna	szTestMixedIntIndex.test_dropnazindex,expectedz
2011-01-01z
2011-01-02z
2011-01-03z1 daysz2 daysz3 daysz2012-02z2012-04z2012-05�M)rGr�cCs|j|d�}tj||�dS)N)r�)r,r)r=)r r�r%rVrPr!r!r"�test_dropna_dt_like	sz%TestMixedIntIndex.test_dropna_dt_likecCs:d}tjt|d��tjdddg�jdd�WdQRXdS)Nzinvalid how option: xxx)rnrtr(rFr�)r�)rorprqrLrr,)r rrr!r!r"�test_dropna_invalid_how_raises6	sz0TestMixedIntIndex.test_dropna_invalid_how_raisescCs tg�}tg�}tj||�dS)N)rrr)r=)r rPrVr!r!r"�test_get_combined_index;	sz)TestMixedIntIndex.test_get_combined_indexr%z
2000-01-01z
2000-01-02z1 daycCs<|jdkst�|jdkst�|jdks*t�|jdks8t�dS)NF)r�r$r�r�r�)r r%r!r!r"�test_is_monotonic_na@	sz&TestMixedIntIndex.test_is_monotonic_nacCsLtjdd��6ttjtjd���}t|�dks2t�d|ks>t�WdQRXdS)Nzdisplay.max_seq_itemsr�i���z...)	rrrrLrr.r$r�r$)r rPr!r!r"�test_repr_summaryS	sz#TestMixedIntIndex.test_repr_summaryrwcCs:tdddgdd�}|ttd��|d�}dt|�ks6t�dS)	Nr_r`rar)r@rF)r%�0)rrr�rr$)r rwr%rPr!r!r"�test_int_name_formatY	sz&TestMixedIntIndex.test_int_name_formatc	Cs@tdd�td�D��}d}tjt|d��t|�WdQRXdS)NcSsg|]}t|��qSr!)rP)r�r�r!r!r"r�a	sz>TestMixedIntIndex.test_str_to_bytes_raises.<locals>.<listcomp>r�z2^'str' object cannot be interpreted as an integer$)rn)rr�rorpr��bytes)r r%rrr!r!r"�test_str_to_bytes_raises_	sz*TestMixedIntIndex.test_str_to_bytes_raisescCsXtddd�tddd�g}t|td�}tdgtd�}|j|�}tgtd�}tj||�dS)Ni�r(r�r�)r4r�)rrrNr�r)r=)r r�r�r�rPrVr!r!r"r�f	s
z*TestMixedIntIndex.test_intersect_str_datescCsNtddtjgtd�}|j�}dddg}||ks2t�t|�}d}||ksJt�dS)NTF)r4�True�FalserTz)Index([True, False, nan], dtype='object'))rr.rirNrMr$r)r r>Zexp1Zout1Zexp2Zout2r!r!r"�test_index_repr_bool_nanp	s
z*TestMixedIntIndex.test_index_repr_bool_nanz2ignore:elementwise comparison failed:FutureWarningcCs:tddd	gdd�}|d
k}tjdddg�}tj||�dS)Nr_r`raF)r�T)r_r`)r`ra)rar_)rar_)rr.r<r)rA)r r�rPrVr!r!r"�test_index_with_tuple_bool{	sz,TestMixedIntIndex.test_index_with_tuple_bool))rdrerfrrroZfixturer%r#r$r%r(r)r+r]rrrNr.rir-rLrr�rrr/r0r1rTrr2r4rrr6r8r�r;�filterwarningsr<r!r!r!r"r�sf&(
$
	
rc@s�eZdZejjddddggdedddg�fdddggdgedddgdd�fddgd	d
ggdedgd	d
ggddgddgg�fddgd	d
ggdd
gedgd	d
ggddgddggdd
gd�fg�dd��Zdd�Z	dS)�TestIndexUtilszdata, names, expectedrtr(rFNr@)r@r_rar�rZL1ZL2)r�cCst||�}tj||�dS)N)rr)r=)r rjr�rVrPr!r!r"� test_ensure_index_from_sequences�	s
z/TestIndexUtils.test_ensure_index_from_sequencescCs`tjdddd�tjdddd�tjdddd�tjdd	d
d�g}t|�}t|td�}tj||�dS)Nrrtr,)�closedr(r-rFZneitherryZboth)r4)rLZIntervalrrrNr)r=)r Z	intervalsrPrVr!r!r"�(test_ensure_index_mixed_closed_intervals�	sz7TestIndexUtils.test_ensure_index_mixed_closed_intervals)
rdrerfrorrrrr?rAr!r!r!r"r>�	s  6r>r6�eq�ne�le�lt�ge�gt�addZradd�sub�rsub�mulZrmul�truedivZrtruediv�floordivZ	rfloordiv�powZrpow�mod�divmodcCs>t|t�r|dkrdSd|�d�}t||�}|j|ks:t�dS)NrJ�__)r-r	r�rdr$)r6r%r^r!r!r"�test_generated_op_names�	s

rR�index_makerc
Cs(tjtdd��|dd�WdQRXdS)Nzunexpected keyword argument)rnr)r�)rorpr�)rSr!r!r"�,test_index_subclass_constructor_wrong_kwargs�	srTc!Cs�d}tjt|d��$tjtjddgtd�ddd�WdQRXtjt|d��&tjtjd	d
dgdd�ddd�WdQRXtjt|d��tj	d
dd
ddd�WdQRXtjt|d��tj
dddgddd�WdQRXdS)Nz[Uu]nexpected keyword argument)rnr_r`)r4�testT)r@Zfastpathrtr(rFrlrrYra)rorpr�rLrr.r<rNrrr
)rrr!r!r"�test_deprecated_fastpath�	s(*rVc
CsFtjddddg�}tjt�� |dd�dfjdks8t�WdQRXdS)Nrrtr(rFry)ryrt)rLrr)r*r+�shaper$)r�r!r!r"�test_shape_of_invalid_index�	srXc-Cs:d}tjd�jddd�}tjt|d��tj|�WdQRXtjt|d��tj|j	tj
��WdQRXtjt|d��tj|j	tj��WdQRXtjt|d��tj
|j	tj��WdQRXtj|jdd��}tjt|d��tj|�WdQRXtjdtd��}tjt|d��tjddggd�|_WdQRXdS)Nz Index data must be 1-dimensionalrkr()rnryrrF)r.r$ZreshaperorprqrLrr
rMr�rrlrrmrrr�r<r%)rrr>r]rur!r!r"�test_validate_1d_input�	s rYc
Csrtddd�}t|tj�rDd}tjt|d��|j|d�WdQRXn*d}tjt|d��|j|d�WdQRXdS)Nr�zClabel-based slicing with step!=1 is not supported for IntervalIndex)rnrzz7'>=' not supported between instances of 'str' and 'int')	rr-rLrrorprqZ_convert_slice_indexerr�)r%r&rrr!r!r"�test_convert_almost_null_slice

srZztimedelta64[ns]zdatetime64[ns]r�z
Asia/Tokyo�ldtype�rdtypec	s�tjdtjd�d���fdd�}||�}||�}|j|�}||kr�tjddd	d
ddgdtjd�}tjgtjd�}tj|d|�tj|d	|jtj	��n6tjdgd
tjd�}tj|d|�tj|d	|�dS)Nir�r�rFr(cs*|tdkrtj��j|�Stj�|d�S)Nrt)r4r�)�
dtlike_dtypesrLrrMr)r4)r~r!r"�	construct'
sz:test_get_indexer_non_unique_wrong_dtype.<locals>.constructrrtryrY)r4r�iʚ;l qa
r�)
r.Ztiler$Zget_indexer_non_uniquer<r`r)rArMrl)	r[r\r^r,r-rPZex1Zex2Z
no_matchesr!)r~r"�'test_get_indexer_non_unique_wrong_dtype!
s
 r_)C�collectionsrrr�iorr�r9r�Znumpyr.roZpandas._config.configZ_config�configrZpandas._libs.tslibrZpandas.compat.numpyrZpandas.util._test_decoratorsrZpandas.core.dtypes.genericr	ZpandasrLr
rrr
rrrrrrrrrZpandas._testingZ_testingr)Zpandas.core.indexes.apirrrrrZpandas.tests.indexes.commonrrrr>rrrRZindex_subclass_makers_generatorrTrVrXrYrZr4ZDatetimeTZDtypeZPeriodDtyper]r_r!r!r!r"�<module>s�<
R#