o
    �¨ÊhÐì  ã                   @   sh  d dl mZ d dlmZ d dlmZ d dlZd dlZd dlZd dlZ	d dl
Z
d dlmZ d dlmZ d dlm  mZ d dlmZmZmZ d dlZd dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z# d dl$m%Z& d d	l'm(Z(m)Z)m*Z*m+Z+m,Z, G d
d„ dƒZ-G dd„ dƒZ.G dd„ dƒZ/e
j0 1dg d¢¡dd„ ƒZ2e
j0 1deedgd�eedgd�eedgd�ee dgd�eee3dƒd�eee 4d d¡gd�ee(dge5d�ee)dgd gd�g¡dd„ ƒZ6dd„ Z7d d!„ Z8e
j0 1d"de	j9e	j:e	j;g¡d#d$„ ƒZ<e
j0 1d%e(i ggd&d'„ e&j=D ƒ¢ei g‘e i g‘ed(d)ig‘¡d*d+„ ƒZ>e
j0 1d,ej?ej@g¡d-d.„ ƒZAe Bd/¡d0d1„ ƒZCdS )2é    )Údefaultdict)Údatetime)ÚpartialN)ÚIS64)ÚInvalidIndexError)Úis_any_real_numeric_dtypeÚis_numeric_dtypeÚis_object_dtype)ÚCategoricalIndexÚ	DataFrameÚDatetimeIndexÚIntervalIndexÚPeriodIndexÚ
RangeIndexÚSeriesÚTimedeltaIndexÚ
date_rangeÚperiod_rangeÚtimedelta_range)ÚIndexÚ
MultiIndexÚ_get_combined_indexÚensure_indexÚensure_index_from_sequencesc                   @   s¦  e Zd Zejdefdd„ƒZdd„ Zejj	ddgdd	�d
d„ ƒZ
dd„ Zejj	ddgdd	�dd„ ƒZdd„ Zej 	dddg¡ej 	dedddddd�edddd�edddd�edddd�g¡dd„ ƒƒZej 	d eddddd!�dfedddd�dfedddd�dfg¡d"d#„ ƒZd$d%„ Zd&d'„ Zd(d)„ Zej 	d*eejejfed+ejfg¡d,d-„ ƒZej 	d.g d/¢d0fd1ejd2d3gd4fd5d6d7ejgd8fg¡d9d:„ ƒZej 	d;d<d=g¡ej 	d>eeg¡d?d@„ ƒƒZej 	d;d<d=g¡ej 	d>eeg¡dAdB„ ƒƒZ ej 	dCg e!g ƒdDdE„ dFD ƒg¡ej 	d>ee"eeg¡dGdH„ ƒƒZ#ej 	dIe$g ddJ�e$fe$e!g ƒddJ�e$fe$dKdE„ dFD ƒddJ�e$fe%dLdM�e%fe&dLdNgdOdPggg g gdQ�e&fg¡dRdS„ ƒZ'ejj	dg dT¢dd	�dUdV„ ƒZ(ejj	ddej)dWejj*dXdY�dZ�d[d\d]gdd	�d^d_„ ƒZ+ejj	dg d`¢dd	�dadb„ ƒZ,dcdd„ Z-ej 	deedfdggƒeg dh¢ƒg di¢g¡djdk„ ƒZ.dldm„ Z/dndo„ Z0dpdq„ Z1ejj	ddgdd	�drds„ ƒZ2dtdu„ Z3ejj	dg dv¢dd	�ej 	dwe4ej5g¡dxdy„ ƒƒZ6ejj	dg dv¢dd	�dzd{„ ƒZ7d|d}„ Z8d~d„ Z9d€d�„ Z:ej 	ded‚ddƒd�ed‚ddƒd�ed„dƒd…�g¡d†d‡„ ƒZ;dˆd‰„ Z<ej 	dŠd‹dŒ„ d�dŒ„ g¡dŽd�„ ƒZ=ej 	dŠd�dŒ„ d‘dŒ„ g¡ej >d’¡d“d”„ ƒƒZ?ej 	dŠe@g d•¢g d–¢d—�d˜d™dšd–œg¡d›dœ„ ƒZAd�dž„ ZBdŸd „ ZCej 	d¡d¢d£g¡d¤d¥„ ƒZDejj	d¦g d§¢dgd	�d¨d©„ ƒZEejj	d¦g dª¢dgd	�d«d¬„ ƒZFd­d®„ ZGd¯d°„ ZHej 	d±g d²¢g di¢g¡d³d´„ ƒZIej 	dµd¶d·g¡d¸d¹„ ƒZJejj	dg dº¢dd	�d»d¼„ ƒZKejj	dg dº¢dd	�ej 	d½d˜d¾gd¿d¾gg¡dÀdÁ„ ƒƒZLejj	dg dº¢dd	�dÂdÃ„ ƒZMdÄdÅ„ ZNdÆdÇ„ ZOej 	dÈdÉeg dÊ¢ƒfg dË¢edLdNgƒfg¡dÌdÍ„ ƒZPej 	d<g dÎ¢g dÏ¢g dÐ¢g¡ej 	dÑdÒdfgdfdÒgg¡dÓdÔ„ ƒƒZQej >d’¡dÕdÖ„ ƒZRej 	d;g d×¢¡dØdÙ„ ƒZSej 	d<g dÚ¢h dÛ£g¡ej 	dÜeg dÝ¢ƒe Tg dÞ¢¡feg ƒejTg eUdß�fg¡dàdá„ ƒƒZVdâdã„ ZWdädå„ ZXej 	dædçdèg¡ej 	deg dÝ¢ƒeg dé¢ejdß�g¡dêdë„ ƒƒZYdìdí„ ZZej 	dîdïdðdñejg¡dòdó„ ƒZ[ej 	d]g e@e\dß�e Tg ¡g¡dôdõ„ ƒZ]e^ _dö¡d÷dø„ ƒZ`ej 	d<g dù¢g dé¢g dú¢g dû¢edüddÉd�g¡dýdþ„ ƒZaejj	ddgdd	�ej 	dÿ�d �dg¡�d�d„ ƒƒZb�d�d„ Zcejj	dg �d¢dd	��d�d„ ƒZdej 	�d	g �d
¢¡�d�d„ ƒZeej 	deef�dƒƒed‚dƒd…�e& g�d�dg¡e�d�d�d�d�g¡�d�d„ ƒZhej 	�d�deg di¢�d�dg�dggƒfdeg di¢�d�dg�dggƒfde& gdi�d�dejf�dejejfg¡fg¡�d�d„ ƒZi�d�d„ Zj�d�d „ Zkej 	dÜeel�d!ƒƒdfeefdÉƒƒdfg¡�d"�d#„ ƒZm�d$�d%„ Zn�d&�d'„ Zo�d(�d)„ Zp�d*�d+„ Zq�d,�d-„ Zrej 	�d.�ddðg¡ej 	�d/g e Tg ¡g �d0¢g �d1¢e Tg �d0¢¡e Tg �d1¢¡e�d2dd…�jse�d2dd…� t¡ g¡�d3�d4„ ƒƒZuej 	�d/g e Tg ¡ejTg ejvdß�g¡�d5�d6„ ƒZwej 	�d7eg ƒejxfg¡�d8�d9„ ƒZy�d:�d;„ Zz�d<�d=„ Z{�d>�d?„ Z|�d@�dA„ Z}ej 	�dBe& g�dC�dDg¡e Tddg¡fe& g�dC�dEg¡e Tddg¡fg¡�dF�dG„ ƒZ~�dH�dI„ Zej 	de& gg �dJ¢¡eg �dK¢ƒg¡�dL�dM„ ƒZ€�dN�dO„ Z�ej 	�dPej‚�dQ�dRgfejƒ�dS�dTgfg¡�dU�dV„ ƒZ„�dW�dX„ Z…�dY�dZ„ Z†�d[�d\„ Z‡�d]�d^„ Zˆ�d_�d`„ Z‰ej 	�dadLejdƒdƒdƒdƒgfdNejej�db�db�dbgfdejejej�dc�dcgfg¡�dd�de„ ƒZŠej 	�dfdçg �dg¢fdLg �dh¢fdNg �di¢fg¡�dj�dk„ ƒZ‹�dS (l  Ú	TestIndexÚreturnc                 C   s   t tdƒƒS )NÚabcde)r   Úlist©Úself© r    úP/var/www/html/env/lib/python3.10/site-packages/pandas/tests/indexes/test_base.pyÚsimple_index.   ó   zTestIndex.simple_indexc                 C   s"   |}|d }|  |¡du sJ ‚d S )Nr   T)Ú$_can_hold_identifiers_and_holds_name)r   r"   ÚindexÚkeyr    r    r!   Útest_can_hold_identifiers2   s   z#TestIndex.test_can_hold_identifiersr%   r   T)Úindirectc                 C   sD   t jtdd�� |d d d …f  W d   ƒ d S 1 sw   Y  d S )NúMulti-dimensional indexing©Úmatch)ÚpytestÚraisesÚ
ValueError©r   r%   r    r    r!   Útest_new_axis7   s   "þzTestIndex.test_new_axisc                 C   s   t  ||¡ d S ©N)ÚtmÚassert_contains_allr/   r    r    r!   Útest_constructor_regular?   s   z"TestIndex.test_constructor_regularÚstringc                 C   s.   t  |¡}t|ƒ}t ||¡ t ||¡ d S r1   )ÚnpÚarrayr   r2   r3   Úassert_index_equal)r   r%   ÚarrÚ	new_indexr    r    r!   Útest_constructor_castingB   s   
z"TestIndex.test_constructor_castingc                 C   sŒ   t tdƒdd�}t |¡}t |ddd�}t|t ƒsJ ‚|jdks"J ‚|r1t |jt	j|dd�¡ nt 
||j¡ d|d	< |d	 dksDJ ‚d S )
NÚabcÚname©r=   T©Úcopyr=   ústring[pyarrow_numpy]©ÚdtypeÚSOMEBIGLONGSTRINGr   )r   r   r6   r7   Ú
isinstancer=   r2   Úassert_extension_array_equalÚvaluesÚpdÚassert_numpy_array_equal)r   Úusing_infer_stringr%   r9   r:   r    r    r!   Útest_constructor_copyJ   s   
ÿzTestIndex.test_constructor_copyÚcast_as_objFz2015-01-01 10:00ÚDé   z
US/EasternzGreen Eggs & Ham)ÚfreqÚperiodsÚtzr=   )rO   rP   ú1 daysz
2015-01-01c                 C   sÀ   |r!t jtdd�� t| t¡ƒ}W d   ƒ n1 sw   Y  nt|ƒ}t  ||¡ t|tƒrZ|j	|j	ks8J ‚|r\|t
jdd�7 }t|td�}|jtjksPJ ‚t|ƒt|ƒks^J ‚d S d S d S )NzDtype inferencer*   é2   )ÚnanosecondsrB   )r2   Úassert_produces_warningÚFutureWarningr   ÚastypeÚobjectr8   rE   r   rQ   rH   Ú	TimedeltarC   r6   Úobject_r   )r   rL   r%   Úresultr    r    r!   Ú"test_constructor_from_index_dtlikeY   s"   ÿ€
÷z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rO   rP   rQ   c                 C   s4   t t|ƒƒ}t ||¡ |r|j|jksJ ‚d S d S r1   )r   r   r2   r8   rQ   )r   r%   Úhas_tzr[   r    r    r!   Ú#test_constructor_from_series_dtlike}   s   ÿz-TestIndex.test_constructor_from_series_dtlikec                 C   s>   g d¢}t |dd�}tt |¡ƒ}t |dd�}t ||¡ d S )N©z1-1-1990z2-1-1990z3-1-1990z4-1-1990z5-1-1990ÚMS©rO   )r   r   rH   Úto_datetimer2   r8   )r   ÚdtsÚexpectedÚsr[   r    r    r!   Ú!test_constructor_from_series_freq�   s
   z+TestIndex.test_constructor_from_series_freqc                 C   s´   g d¢}t |dd�}ttj d¡ d¡ƒ}||d< t |d dd�}|s%tnd}|d j|ks0J ‚d|_t 	||¡ t
|dd�}t |d |¡ |sVt |d ¡}|dksXJ ‚d S d S )	Nr_   r`   ra   é   )é   rN   Údater5   r>   )r   r   r6   ÚrandomÚdefault_rngrX   rC   r=   r2   r8   r   Úassert_series_equalrH   Ú
infer_freq)r   rJ   rc   rd   Údfr[   rC   rO   r    r    r!   Ú'test_constructor_from_frame_series_freqš   s    ýz1TestIndex.test_constructor_from_frame_series_freqc                 C   s2   t jg}t|t jd�}t|dd�}t ||¡ d S )NrB   Úfloat)r6   Únanr   Úfloat64r2   r8   )r   Údatard   r[   r    r    r!   Útest_constructor_int_dtype_nan²   s   z(TestIndex.test_constructor_int_dtype_nanzklass,dtype,na_valzdatetime64[ns]c                 C   sP   ||g}||ƒ}|j |ksJ ‚t|ƒ}t ||¡ tt |¡ƒ}t ||¡ d S r1   )rC   r   r2   r8   r6   r7   )r   ÚklassrC   Úna_valÚna_listrd   r[   r    r    r!   Útest_index_ctor_infer_nan_nat¹   s   	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype©é   rg   rN   é   rh   Úintgš™™™™™ñ?gš™™™™™@ç      @rp   ÚAÚBÚCÚobjc                 C   s*   t ||d�}| |j|¡}t ||¡ d S )Nr>   )r   Ú_simple_newrG   r2   r8   )r   ÚvalsrC   r%   r[   r    r    r!   Útest_constructor_simple_newÌ   s   	z%TestIndex.test_constructor_simple_newÚattrrG   Úasi8ru   c           
      C   sR  t ddd�}t||ƒ}| |¡}|j}|d u}d}|dkr+t|ƒ |¡}	t |	|¡ n.|tu rMtj	t
dd�� |||d� W d   ƒ n1 sGw   Y  n|||d�}	t |	|¡ |dkrŒ|r~tj	t
|d�� t|ƒ |¡ W d   ƒ n1 sxw   Y  nt|ƒ |¡}	t |	|¡ n|||d	�}	t |	|¡ |dkr¬tt|ƒƒ |¡}	t |	|¡ n0|tu rÎtj	t
dd�� |||d� W d   ƒ n1 sÈw   Y  n|t|ƒ|d�}	t |	|¡ |dk�r|�rtj	t
|d�� tt|ƒƒ |¡ W d   ƒ d S 1 �sw   Y  d S tt|ƒƒ |¡}	t |	|¡ d S |t|ƒ|d	�}	t |	|¡ d S )
Nú
2011-01-01rh   ©rP   z:Cannot use .astype to convert from timezone-naive dtype tor†   zunexpected keywordr*   )rQ   rB   )r   ÚgetattrÚtz_localizerC   r   r2   r8   r   r,   r-   Ú	TypeErrorrW   r   )
r   Útz_naive_fixturer…   ru   r%   ÚargrC   ÚerrÚmsgr[   r    r    r!   Ú test_constructor_dtypes_datetimeÙ   sZ   

ÿ€ÿ€ÿ€
$ÿz*TestIndex.test_constructor_dtypes_datetimec                 C   s^   t ddd�}| d ¡}|j}t||ƒ}|||d�}t ||¡ |t|ƒ|d�}t ||¡ d S )NrR   rh   rˆ   rB   )r   Ú
_with_freqrC   r‰   r2   r8   r   )r   r…   ru   r%   rC   rG   r[   r    r    r!   Ú!test_constructor_dtypes_timedelta  s   

z+TestIndex.test_constructor_dtypes_timedeltaÚvaluec                 c   ó   � | ]}|V  qd S r1   r    ©Ú.0Ú_r    r    r!   Ú	<genexpr>#  ó   € zTestIndex.<genexpr>r    c                 C   s&   ||ƒ}t ||ƒsJ ‚t|ƒrJ ‚d S r1   ©rE   Úlen)r   r“   ru   Úemptyr    r    r!   Útest_constructor_empty#  s   z TestIndex.test_constructor_emptyzempty,klassra   c                 c   r”   r1   r    r•   r    r    r!   r˜   7  r™   rz   )Ústeprg   ÚblueÚred©ÚlevelsÚcodesc                 C   s   t ||ƒsJ ‚t|ƒrJ ‚d S r1   rš   )r   rœ   ru   r    r    r!   Útest_constructor_empty_special2  s   z(TestIndex.test_constructor_empty_special)r   rr   Úfloat32Úint64Úint32ÚperiodÚrangeÚrepeatsÚ	timedeltaÚtuplesÚuint64Úuint32c                 C   s   |  d¡ d S )NÚi8)Úviewr/   r    r    r!   Útest_view_with_args@  s   zTestIndex.test_view_with_argsÚcategoricalzgh-25464©Úreason)Úmarksúbool-objectú
bool-dtyperœ   c                 C   sÖ   |j tkr&d}tjt|d�� | d¡ W d   ƒ d S 1 sw   Y  d S |j dkrJtjtdd�� | d¡ W d   ƒ d S 1 sCw   Y  d S d}tjt|d�� | d¡ W d   ƒ d S 1 sdw   Y  d S )NzWhen changing to a larger dtyper*   r¯   r5   zYCannot change data-type for array of references|Cannot change data-type for object array|)rC   Úboolr,   r-   r.   r°   ÚNotImplementedErrorr‹   ©r   r%   r�   r    r    r!   Ú'test_view_with_args_object_array_raisesU  s   
"ÿ
"ÿÿ"ÿz1TestIndex.test_view_with_args_object_array_raises)r¦   r§   r©   c                 C   s6   |  d¡}| d¡ d|_|  d¡}|jdksJ ‚d S )Nr¯   rh   Úfoobar)rW   Úget_locr=   )r   r%   Úcastedr    r    r!   Útest_astypep  s
   


zTestIndex.test_astypec                 C   s"   t g d¢ƒ t g d¢ƒ¡sJ ‚d S ©N©ÚaÚbÚc©r   Úequalsr   r    r    r!   Útest_equals_object€  s   "zTestIndex.test_equals_objectÚcomprÂ   rÃ   )rÂ   rÃ   ÚdrÁ   c                 C   s   t g d¢ƒ |¡rJ ‚d S rÀ   rÅ   )r   rÈ   r    r    r!   Útest_not_equals_object„  s   z TestIndex.test_not_equals_objectc                 C   s’   t g d¢ƒ}t g d¢ƒ}| |¡sJ ‚| d¡}| |¡sJ ‚| |¡r&J ‚| d¡}| |¡s2J ‚t g d¢ƒ}t g d¢dd�}| |¡rGJ ‚d S )NrÁ   Úfoo)©rÂ   rÂ   ©rÂ   rÃ   )rÃ   rÂ   F)Útupleize_cols)r   Ú	identicalÚrenamerÆ   )r   Úi1Úi2Úi3Úi4r    r    r!   Útest_identicalŠ  s   

zTestIndex.test_identicalc                 C   s.  t tdƒƒ}| |¡sJ ‚| | ¡  ¡  ¡  ¡ ¡sJ ‚| t tdƒƒ¡r'J ‚| | ¡ ¡r0J ‚| |jdd�¡r;J ‚| |d d … ¡rFJ ‚| t tdƒ¡¡rRJ ‚| | ¡ ¡s[J ‚| ¡ }d|_| |¡siJ ‚| |¡spJ ‚| t |jƒ¡rzJ ‚t tddƒ¡}t |dd�}t |dd�}| |¡r•J ‚d S )Né
   F)ÚdeepÚbobrz   é   ©r@   )	r   r©   Úis_r°   r@   r6   r7   r=   rG   )r   ÚindÚind2r9   Úind1r    r    r!   Útest_is_œ  s$   zTestIndex.test_is_c                 C   sæ   t g d¢ƒ}t ddgtd�}d}tjt|d�� | |d ¡ W d   ƒ n1 s)w   Y  tjtt t	|ƒ¡d�� | |¡ W d   ƒ n1 sJw   Y  tjtt t	|ƒ¡d�� | |¡ W d   ƒ d S 1 slw   Y  d S )N©rz   rg   rN   TFrB   z$Cannot compare dtypes int64 and boolr*   r   )
r   rX   r,   r-   r‹   Úasofr   ÚreÚescapeÚstr)r   ÚleftÚrightr�   r    r    r!   Ú test_asof_numeric_vs_bool_raises³  s   ÿÿ"ÿz*TestIndex.test_asof_numeric_vs_bool_raisesc                 C   s€   t jt|ƒtd�}d|ddd…< || }t|ƒD ]\}}| |¡|ks%J ‚q|t|ƒ }t|ƒD ]\}}| |¡|ks=J ‚q0d S )NrB   Frh   é   rg   )r6   Úonesr›   r¸   Ú	enumerater½   r   )r   r%   Ú
bool_indexÚ	sub_indexÚiÚvalr    r    r!   Útest_booleanindexÂ  s   ÿzTestIndex.test_booleanindexc                 C   s4   |}|g d¢ }|D ]}|||  |¡ ksJ ‚q
d S )Nrà   )r½   )r   r"   r%   Úslrí   r    r    r!   Ú
test_fancyÐ  s
   ÿzTestIndex.test_fancy)r5   r¦   r§   r­   r®   rr   r¥   rC   c                 C   sÄ   |t ju r|r|jdkr| tjjdd�¡ t jg |d�}t|ƒg |jd�}|g   	|¡s/J ‚|t jkrWt
jtdd�� ||  	|¡sEJ ‚W d   ƒ d S 1 sPw   Y  d S ||  	|¡s`J ‚d S )Nr5   znumpy behavior is buggyr³   rB   zis deprecatedr*   )r6   Úbool_rC   Úapplymarkerr,   ÚmarkÚxfailr7   ÚtyperÏ   r2   rU   rV   )r   r%   rC   ÚrequestrJ   Ú	empty_arrÚempty_indexr    r    r!   Útest_empty_fancyÖ  s   
"ÿzTestIndex.test_empty_fancyc                 C   st   t jg t jd�}t|ƒg |jd�}|g   |¡sJ ‚d}tjt|d�� ||  W d   ƒ d S 1 s3w   Y  d S )NrB   z)arrays used as indices must be of integerr*   )	r6   r7   rr   rö   rC   rÏ   r,   r-   Ú
IndexError)r   r%   Ú
empty_farrrù   r�   r    r    r!   Útest_empty_fancy_raisesé  s   
"ÿz!TestIndex.test_empty_fancy_raisesc                 C   sz   |}t ddd�}| |¡}| |¡}tt || d¡¡ƒ}t ||¡ t ||¡ t ||¡ t ||¡ t ||¡ d S )Nz
2019-01-01rÖ   rˆ   ÚO)	r   Úunionr   r6   ÚappendrW   r2   r8   r3   )r   r"   r%   Ú
date_indexÚ	first_catÚ
second_catÚappendedr    r    r!   Útest_union_dt_as_objú  s   

zTestIndex.test_union_dt_as_objc                 C   sr   t t d¡tjd�}| dd„ ¡}t dd„ |D ƒƒ}t ||¡ | dd„ ¡}t dd„ |D ƒ¡}t ||¡ d S )	NrN   rB   c                 S   s   | fS r1   r    ©Úxr    r    r!   Ú<lambda>  ó    z0TestIndex.test_map_with_tuples.<locals>.<lambda>c                 S   s   g | ]}|f‘qS r    r    ©r–   rí   r    r    r!   Ú
<listcomp>  s    z2TestIndex.test_map_with_tuples.<locals>.<listcomp>c                 S   s   | | dkfS ©Nrz   r    r  r    r    r!   r    ó    c                 S   s   g | ]}||d kf‘qS )rz   r    r
  r    r    r!   r    s    )	r   r6   Úaranger¦   Úmapr2   r8   r   Úfrom_tuples©r   r%   r[   rd   r    r    r!   Útest_map_with_tuples	  s   zTestIndex.test_map_with_tuplesc                 C   s>   g d¢}t  t|g d¢ƒ¡}| dd„ ¡}t |t|ƒ¡ d S )N©rË   ÚbarÚbazrà   c                 S   s   | d S ©Nr   r    r  r    r    r!   r    ó    z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)r   r  Úzipr  r2   r8   r   )r   Úfirst_levelÚmulti_indexÚreduced_indexr    r    r!   Útest_map_with_tuples_mi  s   z!TestIndex.test_map_with_tuples_miú
2020-01-01rÖ   ú1 dayrˆ   c                 C   s,   t dgd ƒ}| dd„ ¡}t ||¡ d S )Nrz   rÖ   c                 S   ó   dS r  r    r  r    r    r!   r  +  ó    zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)r   r  r2   r8   ©r   r%   rd   r[   r    r    r!   Ú%test_map_tseries_indices_return_index!  s   	z/TestIndex.test_map_tseries_indices_return_indexc                 C   sN   t tdddd�dd�}| dd„ ¡}ttjdd	d
�dd�}tj||dd� d S )Nr  é   Úh)rP   rO   Úhourlyr>   c                 S   s   | j S r1   )Úhourr  r    r    r!   r  2  r	  zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>r¦   rB   T©Úexact)r   r   r  r   r6   r  r2   r8   )r   r  r[   rd   r    r    r!   Ú+test_map_tseries_indices_accsr_return_index.  s   ÿz5TestIndex.test_map_tseries_indices_accsr_return_indexÚmapperc                 C   ó   dd„ t | |ƒD ƒS )Nc                 S   ó   i | ]\}}||“qS r    r    ©r–   Úerí   r    r    r!   Ú
<dictcomp>9  ó    ú&TestIndex.<lambda>.<locals>.<dictcomp>©r  ©rG   r%   r    r    r!   r  9  ó    zTestIndex.<lambda>c                 C   ó
   t | |ƒS r1   ©r   r3  r    r    r!   r  :  ó   
 c                 C   sB   t g d¢ƒ}t t d¡tjd�}| ||j|ƒ¡}t ||¡ d S )Nr  rN   rB   )r   r6   r  r¦   r  rG   r2   r8   )r   r*  rd   r%   r[   r    r    r!   Útest_map_dictlike_simple6  s   	z"TestIndex.test_map_dictlike_simplec                 C   r+  )Nc                 S   r,  r    r    r-  r    r    r!   r/  G  r0  r1  r2  r3  r    r    r!   r  G  r4  c                 C   r5  r1   r6  r3  r    r    r!   r  H  r7  z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 C   s¸   t |tƒrt d¡ n|jst d¡ tjt|ƒddtjd�}|j	r't
g ƒ}n%t|jƒr5|j||jd�}nt|ƒt
u rH|jtkrHt
||jd�}nt
|ƒ}| |||ƒ¡}t ||¡ d S )NzTested in test_categoricalzCannot map duplicated indexr   éÿÿÿÿrB   )rE   r
   r,   ÚskipÚ	is_uniquer6   r  r›   r¦   rœ   r   r   rC   Ú_constructorrö   rX   r  r2   r8   )r   r%   r*  r÷   Úrngrd   r[   r    r    r!   Útest_map_dictlikeD  s   




zTestIndex.test_map_dictlike)rË   ç       @r  )r   rg   r9  ©r%   rË   r?  r  c                 C   s2   t dtjdgƒ}t g d¢ƒ |¡}t ||¡ d S )Nr?  rË   )rg   rz   r   ©r   r6   rq   r  r2   r8   )r   r*  rd   r[   r    r    r!   Ú)test_map_with_non_function_missing_valuesc  s   z3TestIndex.test_map_with_non_function_missing_valuesc                 C   s@   t dtjdtjdgƒ}|jdd„ dd�}|d }t ||¡ d S )	Ng      ø?rN   rh   c                 S   s   | d S )Nrg   r    r  r    r    r!   r  q  r  z1TestIndex.test_map_na_exclusion.<locals>.<lambda>Úignore)Ú	na_actionrg   rA  r  r    r    r!   Útest_map_na_exclusionn  s   zTestIndex.test_map_na_exclusionc                 C   sF   t g d¢ƒ}tdd„ ƒ}d|d< | |¡}t g d¢ƒ}t ||¡ d S )Nrà   c                   S   r  )NÚblankr    r    r    r    r!   r  w  r   z0TestIndex.test_map_defaultdict.<locals>.<lambda>Ústuffrz   )rG  rF  rF  )r   r   r  r2   r8   )r   r%   Údefault_dictr[   rd   r    r    r!   Útest_map_defaultdictu  s   
zTestIndex.test_map_defaultdictzname,expected)rË   rË   )r  Nc                 C   sj   t g dd�}t g d¢|d�}d}tjt|d�� | |¡}W d   ƒ n1 s'w   Y  |j|ks3J ‚d S )NrË   r>   rà   zDThe behavior of array concatenation with empty entries is deprecatedr*   )r   r2   rU   rV   r   r=   )r   r=   rd   rå   ræ   r�   r[   r    r    r!   Útest_append_empty_preserve_name}  s   ÿz)TestIndex.test_append_empty_preserve_namezindex, expected))r5   F)r¶   F©r·   F©r²   F)r¦   T)r§   T)r­   T)r®   T©r   F)rr   T)r¥   Tc                 C   s   t |ƒ|u sJ ‚d S r1   )r   )r   r%   rd   r    r    r!   Útest_is_numeric‡  s   zTestIndex.test_is_numeric))r5   T)r¶   TrK  rL  )r¦   F)r§   F)r­   F)r®   FrM  )rr   F)r¥   Fc                 C   s*   |r|j dkr|rd}t|ƒ|u sJ ‚d S )Nr5   F)rC   r	   )r   r%   rd   rJ   r    r    r!   Útest_is_object›  s   zTestIndex.test_is_objectc                 C   s   |  ¡  d S r1   )Ú_summaryr/   r    r    r!   Útest_summary±  s   zTestIndex.test_summaryc                 C   s´   t  ¡ }d}t|ƒ d¡s:t|gƒ}tjt|d�� | ¡ }W d   ƒ n1 s(w   Y  t|d ƒg}||ks:J ‚tjt|d�� tg ƒ ¡  W d   ƒ d S 1 sSw   Y  d S )NúIndex\.format is deprecatedÚ000r*   r   )	r   Únowrä   Úendswithr   r2   rU   rV   Úformat)r   rT  r�   r%   Ú	formattedrd   r    r    r!   Útest_format_bug´  s   

ÿ"ÿzTestIndex.test_format_bugrƒ   )rz   y       @      @ç      @c                 C   s²   t |ƒ}| |¡ t|td�}d}tjt|d�� | ¡ }W d   ƒ n1 s'w   Y  t|t	ƒr3dnt
|ƒ}t
|d ƒt
|d ƒt
|d ƒ|g}||ksOJ ‚|d |u sWJ ‚d S )	NrB   rR  r*   ÚNaNr   rz   rg   rN   )r   r   r   rX   r2   rU   rV   rV  rE   rp   rä   )r   rƒ   Únulls_fixturer%   r�   rW  Ú	null_reprrd   r    r    r!   Útest_format_missingÆ  s   

ÿ$zTestIndex.test_format_missingÚopÚanyÚallc                 C   sN   |}t ||ƒƒ }|t |j|ƒƒ ksJ ‚t | ¡ |ƒƒ }t|ƒt|ƒks%J ‚d S r1   )r‰   rG   Ú	to_seriesr¸   )r   r^  r"   r%   rå   ræ   r    r    r!   Útest_logical_compat×  s
   zTestIndex.test_logical_compat)r5   r¦   r§   rr   r¥   c                 C   sx   t |ƒ}|ttddƒƒ }| |¡}|ttdƒƒttd|ƒƒ  }t ||¡ | |d ¡}|dd … }t ||¡ d S )Nrh   rÖ   r   rz   )r›   r   r©   Údropr2   r8   )r   r%   Únrc  Údroppedrd   r    r    r!   Útest_drop_by_str_labelá  s   
z TestIndex.test_drop_by_str_labelÚkeysr  Ú1c                 C   s>   t jtdd�� | |¡ W d   ƒ d S 1 sw   Y  d S )NÚ r*   )r,   r-   ÚKeyErrorrc  )r   r%   rg  r    r    r!   Ú*test_drop_by_str_label_raises_missing_keysð  s   "ÿz4TestIndex.test_drop_by_str_label_raises_missing_keysc                 C   s’   t |ƒ}|ttddƒƒ }| ¡ dg }|j|dd�}|ttdƒƒttd|ƒƒ  }t ||¡ |jddgdd�}|tt|ƒƒ }t ||¡ d S )Nrh   rÖ   rË   rC  ©Úerrorsr  )r›   r   r©   Útolistrc  r2   r8   )r   r%   rd  rc  Úmixedre  rd   r    r    r!   Ú$test_drop_by_str_label_errors_ignoreø  s   z.TestIndex.test_drop_by_str_label_errors_ignorec                 C   s2   t g d¢ƒ}| d¡}t ddgƒ}t ||¡ d S )Nrà   rz   rg   rN   ©r   rc  r2   r8   )r   r%   re  rd   r    r    r!   Útest_drop_by_numeric_label_loc  s   
z(TestIndex.test_drop_by_numeric_label_locc                 C   sN   t g d¢ƒ}tjtdd�� | ddg¡ W d   ƒ d S 1 s w   Y  d S )Nrà   ri  r*   rN   r{   )r   r,   r-   rj  rc  r/   r    r    r!   Ú.test_drop_by_numeric_label_raises_missing_keys  s   "ÿz8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedr{   rà   )rN   r{   rh   c                 C   s*   t g d¢ƒ}|j|dd�}t ||¡ d S )Nrà   rC  rl  rq  )r   r&   rd   r%   re  r    r    r!   Ú(test_drop_by_numeric_label_errors_ignore  s   z2TestIndex.test_drop_by_numeric_label_errors_ignore)rÂ   rÃ   ©rÄ   rÉ   )rÂ   ru  rÃ   )ru  rÂ   rÃ   Úto_dropru  c           	   	   C   sä   t |ƒ}t dgtd�}| |¡}t ||¡ | |d ¡}|d |d gfD ]}| |¡}t ||¡ q&| |d ¡}dt |d  ¡ ¡› d�}|d |d gfD ]}tj	t
|d�� | |¡ W d   ƒ n1 sjw   Y  qQd S )NrÃ   rB   r   rz   z\"\[z\] not found in axis\"r*   )r   rX   rc  r2   r8   râ   rã   Ú__repr__r,   r-   rj  )	r   rG   rv  r%   rd   r[   ÚremovedÚdrop_mer�   r    r    r!   Útest_drop_tuple  s    

ÿ€ÿzTestIndex.test_drop_tuplec                 C   sp   t |ƒdkst|tƒrt d¡ t|tƒrtst d¡ | ¡  d¡}|dd … }| 	|d ¡}t
 ||¡ d S )Nr   z,Test doesn't make sense for empty MultiIndexz=Cannot test IntervalIndex with int64 dtype on 32 bit platformrg   )r›   rE   r   r,   r:  r   r   ÚuniqueÚrepeatrc  r2   r8   r!  r    r    r!   Ú"test_drop_with_duplicates_in_index6  s   

z,TestIndex.test_drop_with_duplicates_in_index©Úis_monotonic_increasingÚis_monotonic_decreasingÚ!_is_strictly_monotonic_increasingÚ!_is_strictly_monotonic_decreasingc                 C   s$   t dt ¡ dgƒ}t||ƒrJ ‚d S )Nrh   é   )r   r   rT  r‰   )r   r…   r%   r    r    r!   Útest_is_monotonic_incomparableB  s   
z(TestIndex.test_is_monotonic_incomparable)rË   r  Úquux>   r  rË   r…  úindex,expected)Úquxr  rË   r  ©FFTTrB   c                 C   s   |  |¡}t ||¡ d S r1   )Úisinr2   rI   )r   rG   r%   rd   r[   r    r    r!   Ú	test_isinO  s   
	zTestIndex.test_isinc                 C   sÒ   t d|gƒ}t|tƒr+t|tƒr+t |¡r+t |¡r+t | |g¡t 	ddg¡¡ d S ||u r@t | |g¡t 	ddg¡¡ d S |rX|j
dkrXt | |g¡t 	ddg¡¡ d S t | |g¡t 	ddg¡¡ d S )NrÂ   FTr5   )r   rE   rp   ÚmathÚisnanr2   rI   r‰  r6   r7   rC   )r   r[  Únulls_fixture2rJ   Úidxr    r    r!   Útest_isin_nan_common_object[  s6   ÿþýü
þ
þ
þ
þz%TestIndex.test_isin_nan_common_objectc                 C   sð   |}|t ju s|t ju rJdtt|ƒjƒ› �}tjt|d�� t	d|g|d� W d   ƒ n1 s0w   Y  t	dt
jg|d�}| |g¡ ¡ rHJ ‚d S t	d|g|d�}| t
jg¡}t |t
 ddg¡¡ | t jg¡}t |t
 ddg¡¡ d S )Nz=float\(\) argument must be a string or a (real )?number, not r*   ç      ð?rB   FT)rH   ÚNaTÚNAÚreprrö   Ú__name__r,   r-   r‹   r   r6   rq   r‰  r_  r2   rI   r7   )r   r[  Úfloat_numpy_dtyperC   r�   rŽ  Úresr    r    r!   Útest_isin_nan_common_float64€  s"   ÿÿÿz&TestIndex.test_isin_nan_common_float64Úlevelr   r9  )r�  r?  r}   rY  c                 C   sZ   |  ¡ dd … dg }t g d¢¡}t ||j||d�¡ d|_t ||j|dd�¡ d S )NéþÿÿÿÚnonexistingrˆ  ©r˜  r¼   )rn  r6   r7   r2   rI   r‰  r=   )r   r˜  r%   rG   rd   r    r    r!   Útest_isin_level_kwarg™  s
   	zTestIndex.test_isin_level_kwargc              	   C   sZ   d|j |j d  fD ] }tjtdd�� |jg |d� W d   ƒ n1 s%w   Y  q
d S )NrÖ   rz   zToo many levelsr*   r›  )Únlevelsr,   r-   rû   r‰  )r   r%   r˜  r    r    r!   Ú&test_isin_level_kwarg_bad_level_raisesª  s   ÿ€ÿz0TestIndex.test_isin_level_kwarg_bad_level_raisesÚlabelr�  r¼   Úxyzzyc                 C   sŒ   t |tƒr| ddg|jdd …  ¡}d|› d�}n| d¡}d|› d�}tjt|d�� |jg |d	� W d   ƒ d S 1 s?w   Y  d S )
NrË   r  rg   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r*   r›  )rE   r   rÐ   Únamesr,   r-   rj  r‰  )r   rŸ  r%   r�   r    r    r!   Ú&test_isin_level_kwarg_bad_label_raises¯  s   

"ÿz0TestIndex.test_isin_level_kwarg_bad_label_raisesc                 C   s4   t ddgƒ}t ddg¡}| |¡}t ||¡ d S )NrÂ   rÃ   F)r   r6   r7   r‰  r2   rI   )r   rœ   r%   rd   r[   r    r    r!   Útest_isin_emptyº  s   
zTestIndex.test_isin_emptyÚpyarrowc                 C   s:   t ddgdd�}| d g¡}t ddg¡}t ||¡ d S )NrÂ   rÃ   rA   rB   F)r   r‰  r6   r7   r2   rI   r  r    r    r!   Útest_isin_arrow_string_nullÃ  s   z%TestIndex.test_isin_arrow_string_null©rz   rg   rN   r{   ©TTTT)rË   r  r  r‡  z
2018-01-01c                 C   s2   t |ƒ}||k}tjg d¢td�}t ||¡ d S )Nr§  rB   )r   r6   r7   r¸   r2   rI   )r   rG   r%   r[   rd   r    r    r!   Útest_boolean_cmpË  s   zTestIndex.test_boolean_cmpz
name,levelr  rÌ   c                 C   s,   |  ¡ }|r	||_| |¡}t ||¡ d S r1   )r@   r=   Úget_level_valuesr2   r8   )r   r%   r=   r˜  rd   r[   r    r    r!   Útest_get_level_valuesÜ  s
   
zTestIndex.test_get_level_valuesc                 C   s,   t ddgdd�}|j|dd … jksJ ‚d S )NrÂ   rÃ   Úasdfr>   rz   ©r   r=   r/   r    r    r!   Útest_slice_keep_nameæ  s   zTestIndex.test_slice_keep_name)r5   r   r¦   r§   r­   r®   rr   r¥   c                 C   s2   |j ||d�}|}|dkr| ¡ }t ||¡ d S )N©ÚhowÚouter)ÚjoinÚsort_valuesr2   r8   )r   r%   Ú	join_typer[   rd   r    r    r!   Útest_join_selfê  s
   zTestIndex.test_join_selfÚmethod)ÚstripÚrstripÚlstripc                    sB   t g d¢ƒ}t ‡ fdd„|jD ƒƒ}t|jˆ ƒƒ }t ||¡ d S )N)z jackzjill z jesse Úfrankc                    s   g | ]	}t tˆ ƒ|ƒ‘qS r    )r‰   rä   ©r–   r  ©rµ  r    r!   r    s    z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   rG   r‰   rä   r2   r8   )r   rµ  r%   rd   r[   r    r»  r!   Útest_str_attributeÿ  s   zTestIndex.test_str_attributerh   )rË   rh  )r  Ú3Ú2000Ú2010ÚY)ÚstartÚendrO   c                 C   s@   t jtdd�� |j d¡ W d   ƒ d S 1 sw   Y  d S )Nzonly use .str accessorr*   rg   )r,   r-   ÚAttributeErrorrä   r|  r/   r    r    r!   Útest_str_attribute_raises  s   
"ÿz#TestIndex.test_str_attribute_raiseszexpand,expectedNrÉ   r.  Úfc                 C   s>   t g d¢ƒ}|d ur|jj|d�}n|j ¡ }t ||¡ d S )N)za b czd erÅ  )Úexpand)r   rä   Úsplitr2   r8   )r   rÆ  rd   r%   r[   r    r    r!   Útest_str_split  s
   
zTestIndex.test_str_splitc                 C   sF   t g d¢ƒ}|j d¡}t g d¢¡}t ||¡ t|tjƒs!J ‚d S )N©Úa1Úa2Úb1Úb2rÂ   )TTFF)	r   rä   Ú
startswithr6   r7   r2   rI   rE   Úndarrayr  r    r    r!   Útest_str_bool_return+  s
   zTestIndex.test_str_bool_returnc                 C   sR   t g d¢ƒ}ttdƒ|d�}||jj d¡ }ttdƒddgd�}t ||¡ d S )NrÉ  r{   r@  rÂ   rg   rÊ  rË  )r   r   r©   r%   rä   rÎ  r2   rl   )r   r%   re   r[   rd   r    r    r!   Útest_str_bool_series_indexing4  s
   z'TestIndex.test_str_bool_series_indexingÚabcdc                 C   s   dt |ƒv }||ksJ ‚d S )Nrä   )Údirr!  r    r    r!   Útest_tab_completion<  s   zTestIndex.test_tab_completionc                 C   sX   t g d¢ƒ}|dd…  t ddgtjd�¡sJ ‚|ddg  t ddgtjd�¡s*J ‚d S )N)rz   rg   rN   rÂ   rÃ   rÄ   rz   rN   rg   rB   r   )r   rÏ   r6   rZ   r/   r    r    r!   Ú!test_indexing_doesnt_change_classD  s   $(z+TestIndex.test_indexing_doesnt_change_classc                 C   sª   t tj d¡ d¡ƒ}tddd�}t t¡� |j	|dd�}W d   ƒ n1 s(w   Y  t t¡� | 
t¡ | 
t¡¡}W d   ƒ n1 sHw   Y  t ||¡ d S )Nrg   é   r  rÖ   rˆ   r°  r®  )r   r6   rj   rk   Úpermutationr   r2   rU   ÚRuntimeWarningr±  rW   rX   rÿ   r8   )r   Ú
left_indexÚright_indexr[   rd   r    r    r!   Útest_outer_join_sortJ  s   ÿÿzTestIndex.test_outer_join_sortc                 C   s²   t tdƒdd�}| t g d¢¡¡}t tdƒdd�}t ||¡ |jt g d¢¡dd�}t dd	tjgdd�}t ||¡ |jt g d¢¡d
dd�}t g d¢dd�}t ||¡ d S )NÚABCÚxxxr>   )rz   r   r9  ÚBACT©Ú
fill_valuer   r~   F)Ú
allow_fillrà  )r   r~   r€   )r   r   Útaker6   r7   r2   r8   rq   r  r    r    r!   Útest_take_fill_valueV  s   zTestIndex.test_take_fill_valuec                 C   s¦   t tdƒdd�}d}tjt|d�� |jt g d¢¡dd� W d   ƒ n1 s(w   Y  tjt|d�� |jt g d	¢¡dd� W d   ƒ d S 1 sLw   Y  d S )
NrÜ  rÝ  r>   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r*   )rz   r   r™  Trß  )rz   r   éûÿÿÿ)r   r   r,   r-   r.   râ  r6   r7   rº   r    r    r!   Ú test_take_fill_value_none_raisesg  s   ÿÿ"ÿz*TestIndex.test_take_fill_value_none_raisesc                 C   sX   t tdƒdd�}tjtdd�� | t ddg¡¡ W d   ƒ d S 1 s%w   Y  d S )NrÜ  rÝ  r>   zout of boundsr*   rz   rä  )r   r   r,   r-   rû   râ  r6   r7   r/   r    r    r!   Útest_take_bad_bounds_raisess  s   "ÿz%TestIndex.test_take_bad_bounds_raisesr=   Úlabels©r~   r   r€   )r€   r   r~   Ú20130101c                 C   s.   t g d¢ƒ}||_| |¡d j|ksJ ‚d S )N)r   rz   rg   r   )r   r=   Úreindex)r   r=   rç  r%   r    r    r!   Ú8test_reindex_preserves_name_if_target_is_list_or_ndarrayx  s   zBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarrayc                 C   s.   t tdƒƒ}| |¡d jj|jjksJ ‚d S ©Nr<   r   ©r   r   rê  rC   rö   )r   rç  r%   r    r    r!   Ú<test_reindex_preserves_type_if_target_is_empty_list_or_array�  s   "zFTestIndex.test_reindex_preserves_type_if_target_is_empty_list_or_arrayzlabels,dtypec                 C   s*   t tdƒƒ}| |¡d jj|ksJ ‚d S rì  rí  )r   rç  rC   r%   r    r    r!   Ú:test_reindex_doesnt_preserve_type_if_target_is_empty_index“  s   zDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_indexc                 C   s8   |}t tdƒƒ}t g |d�}| |¡d j|ksJ ‚d S )Nr<   rB   r   )r   r   rê  rC   )r   Úany_real_numpy_dtyperC   r%   rç  r    r    r!   ÚBtest_reindex_doesnt_preserve_type_if_target_is_empty_index_numericž  s   zLTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_index_numericc                 C   sl   t tdƒƒ}| tt g tjƒt g tjƒgg g gƒ¡d }|jd jj	tjks(J ‚|jd jj	tjks4J ‚d S )Nr<   r   rz   )
r   r   rê  r   r6   r¦   rr   r¢   rC   rö   )r   r%   r[   r    r    r!   Ú-test_reindex_no_type_preserve_target_empty_mi§  s    ÿþz7TestIndex.test_reindex_no_type_preserve_target_empty_mic                 C   sR   t g d¢dd�}t g d¢dd�}t g d¢dd�}|j|dd�\}}t ||¡ d S )Nrà   r  r>   r¦  r›  )r   rê  r2   r8   )r   rŽ  Úidx2rd   r[   r—   r    r    r!   Útest_reindex_ignoring_level¯  s
   z%TestIndex.test_reindex_ignoring_levelc                 C   sJ   t tdƒƒ}| t g d¢¡¡}t ddgƒt g d¢ƒdœ}t ||¡ d S )Nrh   )rz   rz   rg   rg   rg   r   rz   )rg   rN   r{   ©rz   rg   )r   r©   Úgroupbyr6   r7   r2   Úassert_dict_equalr  r    r    r!   Útest_groupby·  s   zTestIndex.test_groupbyzmi,expectedrõ  ©r{   rh   )r{   é   c                 C   sH   t ddgdgtjddgddggdd	gd
�d�}|j|k}t ||¡ d S )NrN   rú  rÄ   rz   r{   rg   rh   rÂ   rÃ   ©r¡  ©Úcolumnsr%   )r   r   Úfrom_arraysr%   r2   rI   )r   Úmird   rn   r[   r    r    r!   Útest_equals_op_multiindex¾  s   
ý
z#TestIndex.test_equals_op_multiindexc                 C   sX   t ddgdgtjddgddggdd	gd
�d�}|j|jk}t ddg¡}t ||¡ d S )NrN   rú  rÄ   rz   r{   rg   rh   rÂ   rÃ   rû  rü  T)r   r   rþ  r%   r6   r7   r2   rI   )r   rn   r[   rd   r    r    r!   Ú"test_equals_op_multiindex_identifyÑ  s   ýz,TestIndex.test_equals_op_multiindex_identify©rõ  rù  )é   é	   r  c                 C   sl   t ddgdgtjddgddggdd	gd
�d�}tjtdd�� |j|k W d   ƒ d S 1 s/w   Y  d S )NrN   rú  rÄ   rz   r{   rg   rh   rÂ   rÃ   rû  rü  zLengths must matchr*   )r   r   rþ  r,   r-   r.   r%   )r   r%   rn   r    r    r!   Ú+test_equals_op_mismatched_multiindex_raisesÜ  s   ý"ÿz5TestIndex.test_equals_op_mismatched_multiindex_raisesc                 C   s@   t  g d¢¡}tg d¢ƒ}||k}t g d¢¡}t ||¡ d S )Nr  r  )FFF)r   r  r   r6   r7   r2   rI   )r   rJ   rÿ  r%   r[   rd   r    r    r!   Ú&test_equals_op_index_vs_mi_same_lengthí  s
   z0TestIndex.test_equals_op_index_vs_mi_same_lengthzdt_conv, argú
2000-01-01ú
2000-01-02z01:02:03z01:02:04c                 C   s$   t |dd�}|j||ƒjksJ ‚d S )NrŸ  r>   r¬  )r   Údt_convr�   r%   r    r    r!   Ú!test_dt_conversion_preserves_nameõ  s   	z+TestIndex.test_dt_conversion_preserves_namec                 C   sF   t g d¢ƒ}tjtdd�� d|_W d   ƒ d S 1 sw   Y  d S )Nrà   zCan't set attributer*   F)r   r,   r-   rÃ  r;  r/   r    r    r!   Ú#test_cached_properties_not_settable  s   "ÿz-TestIndex.test_cached_properties_not_settablec              	   C   s¦   t jddd� ddlm} d}| |¡ tjd dd��. |d	ƒ� t|j 	d
d¡ƒ W d   ƒ n1 s4w   Y  W d   ƒ d S W d   ƒ d S 1 sLw   Y  d S )NÚIPythonz6.0.0)Ú
minversionr   )Úprovisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])F)Úraise_on_extra_warningsrC  zidx.r{   )
r,   ÚimportorskipÚIPython.core.completerr  Úrun_cellr2   rU   r   Ú	CompleterÚcompletions)r   Úipr  Úcoder    r    r!   Útest_tab_complete_warning  s   

ÿÿ"ÿz#TestIndex.test_tab_complete_warningc                 C   sh   t |tƒr| d¡ d S dt|ƒj› d�}tjt|d�� | d¡ W d   ƒ d S 1 s-w   Y  d S )Nrz   ú'z$' object has no attribute 'contains'r*   )rE   r   Úcontainsrö   r”  r,   r-   rÃ  rº   r    r    r!   Útest_contains_method_removed  s   
"ÿz&TestIndex.test_contains_method_removedc                 C   s>  t g d¢ƒ}tjtdd�� |jdd� W d   ƒ n1 sw   Y  tjtdd�� |jddgd� W d   ƒ n1 s=w   Y  tjtdd�� |jdgd� W d   ƒ n1 s[w   Y  t g d	¢ƒ}|jdgd�}t |d
 |¡ t g d	¢ƒ}|jdd�}t |d
 |¡ t g d¢ƒ}|jdd�}t |d
 |¡ d S )N)rh   r{   rN   rg   rz   z(ascending must be a single bool value orr*   ÚTrue)Ú	ascendingz3ascending must be a list of bool values of length 1Tzascending must be a bool valuery   r   F)r   r,   r-   Ú	ExceptionÚ	sortlevelr2   r8   r!  r    r    r!   Útest_sortlevel  s*   ÿÿýÿzTestIndex.test_sortlevelc                 C   s<   t dtjgƒ}|jdd�d }t tjdgƒ}t ||¡ d S )Nrz   Úfirst)Úna_positionr   )r   r6   rq   r  r2   r8   ©r   rŽ  r[   rd   r    r    r!   Útest_sortlevel_na_position6  s   z$TestIndex.test_sortlevel_na_positionzperiods, expected_resultsé   rè   c                 C   ó.   t g d¢ƒ}| |¡}t |ƒ}t ||¡ d S )N)rÖ   r$  rè   é(   rS   )r   Údiffr2   r8   )r   rP   Úexpected_resultsrŽ  r[   rd   r    r    r!   Útest_index_diff=  ó   

zTestIndex.test_index_diffzdecimals, expected_results©r�  r?  r}   )g333333ó?gffffff@g      @)g®Gáz®ó?gÍÌÌÌÌÌ@g®Gáz®@c                 C   r%  )N)gX9´Èv¾ó?gÃõ(\�Â@gÙÎ÷Sã¥@)r   Úroundr2   r8   )r   Údecimalsr(  rŽ  r[   rd   r    r    r!   Útest_index_roundM  r*  zTestIndex.test_index_round)Œr”  Ú
__module__Ú__qualname__r,   Úfixturer   r"   r'   rô   Úparametrizer0   r4   r;   rK   r   r   r   r\   r^   rf   ro   rt   r6   rr   rq   r   rH   r‘  rx   r„   r�   r   r’   Úiterr
   r�   r   r   r   r¤   r±   Úparamrõ   r»   r¿   rÇ   rÊ   rÕ   rß   rç   rï   rñ   r|   rò   rú   rý   r  r  r  r"  r)  r8  Úfilterwarningsr>  r   rB  rE  rI  rJ  rN  rO  rQ  rX  r]  rb  rf  rk  rp  rr  rs  rt  rz  r}  r„  r7   r¸   rŠ  r�  r—  rœ  rž  r¢  rX   r£  ÚtdÚ
skip_if_nor¥  r¨  rª  r­  r´  r¼  r©   r  rÄ  rÈ  rÐ  rÑ  r   rÔ  rÕ  rÛ  rã  rå  ræ  rG   rn  rë  r¦   rî  Ú
datetime64rï  rñ  rò  rô  rø  r   r  r  r  rb   Úto_timedeltar
  r  r  r  r  r#  r)  r.  r    r    r    r!   r   -   sÔ   

ûöþþúþ

þþ

ýþ
9 üþ	ûþ

ð
û÷
ý
ÿ

ýý

ýþ
þþ
þþ
þ

	ñ
ñ


	
ÿ

ÿ
ÿ
$ÿ
þ

þ
	þþ%
þþ	



ûþ


ô
üþ	"  ÿþýþ		"ÿ÷þ&ÿþ	þþþþ
þþ	ýþýþr   c                   @   sx  e Zd Zejdefdd„ƒZdd„ Zdd„ Zdd	„ Z	d
d„ Z
dd„ Zdd„ Zej dddg¡ej ddedg¡ej dg d¢g d¢fg d¢g d¢fddejdgg d¢fg d¢g d¢fdejddgg d¢fg¡d d!„ ƒƒƒZej dddg¡ej d"eg d#¢ƒeg d#¢ƒfed$d%d&ejgƒeg d#¢ƒfeg d'¢ƒeg d'¢ƒfeejd(d)d*ejgƒeg d'¢ƒfeg d+¢d,d-�eg d+¢d,d-�feg d.¢d,d-�eg d+¢d,d-�fg¡d/d0„ ƒƒZd1d2„ Zej d3eejgƒeejd4gƒed4d5ejgƒed6d7ejgƒe d8g¡e d8d9g¡e g d:¢¡e d;d8g¡g¡d<d=„ ƒZej dg d>¢¡ej d?d@dAg¡dBdC„ ƒƒZdDdE„ ZdFdG„ Zej  dH¡dIdJ„ ƒZ!dS )KÚTestMixedIntIndexr   c                 C   s   t g d¢ƒS )N)r   rÂ   rz   rÃ   rg   rÄ   ©r   r   r    r    r!   r"   b  r#   zTestMixedIntIndex.simple_indexc                 C   s@   |}t jtdd�� | ¡  W d   ƒ d S 1 sw   Y  d S ©Nz'>|<' not supportedr*   )r,   r-   r‹   Úargsort©r   r"   r%   r    r    r!   Útest_argsortf  s   
"ÿzTestMixedIntIndex.test_argsortc                 C   sB   |}t jtdd�� t |¡ W d   ƒ d S 1 sw   Y  d S r<  )r,   r-   r‹   r6   r=  r>  r    r    r!   Útest_numpy_argsortk  s   "ÿz$TestMixedIntIndex.test_numpy_argsortc                 C   s–   |}t |ƒ|ddd�}t |ƒ|dd�}||usJ ‚t ||¡ |jdks&J ‚|jdks-J ‚td|d�}td|d d	… d�}|| }|jjdksIJ ‚d S )
NTÚmarior?   FrÚ   rg   r@  rN   r9  )rö   r2   r8   r=   r   r%   )r   r"   r%   r   ÚsecondÚs1Ús2Ús3r    r    r!   Útest_copy_namep  s   z TestMixedIntIndex.test_copy_namec                 C   s`   t ddgdd�}| ¡ }t ||¡ |jdd�}tj||dd� |jdks'J ‚|jdks.J ‚d S )Nrz   rg   ÚMyNamer>   ÚNewNameF)Úcheck_names)r   r@   r2   r8   r=   )r   r%   Úindex1Úindex2r    r    r!   Útest_copy_name2†  s   z!TestMixedIntIndex.test_copy_name2c                 C   sB   t dtjddgdd�}t dtjdgdd�}| ¡ }t ||¡ d S )Nrg   rz   Úmy_indexr>   )r   r6   rq   r{  r2   r8   )r   rŽ  rd   r[   r    r    r!   Útest_unique_na“  s   z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  ¡ |j  ¡ ksJ ‚| ¡ |j ¡ ksJ ‚d S r1   )r`  rG   r_  r>  r    r    r!   rb  ™  s   z%TestMixedIntIndex.test_logical_compatr¯  r_  r`  rC   NÚcategoryzvals,expectedrà   r+  r�  r?  r}   rè  r~   r   r€   c                 C   s4   t ||d�}|j|d�}t ||d�}t ||¡ d S )NrB   r®  )r   Údropnar2   r8   )r   r¯  rC   rƒ   rd   r%   r[   r    r    r!   Útest_dropnaž  s   zTestMixedIntIndex.test_dropnar†  )r‡   ú
2011-01-02ú
2011-01-03r‡   rR  rS  )rR   ú2 daysú3 daysrR   rT  rU  )ú2012-02ú2012-04ú2012-05ÚMra   )rV  rW  r‘  rX  c                 C   s   |j |d�}t ||¡ d S )Nr®  )rP  r2   r8   )r   r¯  r%   rd   r[   r    r    r!   Útest_dropna_dt_like±  s   z%TestMixedIntIndex.test_dropna_dt_likec                 C   sL   d}t jt|d�� tg d¢ƒjdd� W d   ƒ d S 1 sw   Y  d S )Nzinvalid how option: xxxr*   rà   rÝ  r®  )r,   r-   r.   r   rP  )r   r�   r    r    r!   Útest_dropna_invalid_how_raisesÓ  s   "ÿz0TestMixedIntIndex.test_dropna_invalid_how_raisesr%   rz   rg   rÂ   rÃ   r‘  r  )r  r‘  r  r  c                 C   s<   |j du sJ ‚|jdu sJ ‚|jdu sJ ‚|jdu sJ ‚d S ©NFr~  r/   r    r    r!   Útest_is_monotonic_naØ  s   z&TestMixedIntIndex.test_is_monotonic_na)Úf8zm8[ns]zM8[us]Úunique_firstTFc                 C   sp   t g d¢|d�}|r!|jdu sJ ‚|jdu sJ ‚|jdu sJ ‚d S |jdu s(J ‚|jdu s/J ‚|jdu s6J ‚d S )N)Nrz   rz   rB   F)r   r;  r  r€  )r   rC   r_  r%   r    r    r!   Útest_is_monotonic_unique_naë  s   z-TestMixedIntIndex.test_is_monotonic_unique_nac                 C   s8   t g d¢dd�}|ttdƒƒ|d�}dt|ƒv sJ ‚d S )NrÁ   r   r>   rN   r@  Ú0)r   r   r©   r“  )r   Úframe_or_seriesr%   r[   r    r    r!   Útest_int_name_formatù  s   z&TestMixedIntIndex.test_int_name_formatc                 C   sV   t dd„ tdƒD ƒƒ}d}tjt|d�� t|ƒ W d   ƒ d S 1 s$w   Y  d S )Nc                 S   s   g | ]}t |ƒ‘qS r    )rä   rº  r    r    r!   r     r4  z>TestMixedIntIndex.test_str_to_bytes_raises.<locals>.<listcomp>rÖ   z2^'str' object cannot be interpreted as an integer$r*   )r   r©   r,   r-   r‹   Úbytesrº   r    r    r!   Útest_str_to_bytes_raisesþ  s
   
"ÿz*TestMixedIntIndex.test_str_to_bytes_raisesz2ignore:elementwise comparison failed:FutureWarningc                 C   s2   t g d¢ƒ}|dk}t g d¢¡}t ||¡ d S )N)rÍ   )rÃ   rÄ   ©rÄ   rÂ   rf  )FFT)r   r6   r7   r2   rI   r"  r    r    r!   Útest_index_with_tuple_bool  s   z,TestMixedIntIndex.test_index_with_tuple_bool)"r”  r/  r0  r,   r1  r   r"   r?  r@  rF  rL  rN  rb  rô   r2  rX   r6   rq   rQ  r   rH   r‘  r   r   rZ  r[  rb   r9  r]  r`  rc  re  r5  rg  r    r    r    r!   r:  ^  s„    ûþ


þ
þ

þ
þþþëþ

øþ

r:  c                   @   sØ   e Zd Zej dg d¢gdeg d¢ƒfg d¢gdgeg d¢dd�fddgddggdedgddggd	d	gd	d
ggƒfddgddggddgedgddggd	d	gd	d
ggddgd�fg¡dd„ ƒZdd„ Z	dd„ Z
dd„ ZdS )ÚTestIndexUtilszdata, names, expectedrà   Nr=   r>   rÂ   rÄ   rÉ   r   rz   ÚL1ÚL2rû  c                 C   s   t ||ƒ}t ||¡ d S r1   )r   r2   r8   )r   rs   r¡  rd   r[   r    r    r!   Ú test_ensure_index_from_sequences  s   
z/TestIndexUtils.test_ensure_index_from_sequencesc                 C   s`   t jdddd�t jdddd�t jdddd�t jdd	d
d�g}t|ƒ}t|td�}t ||¡ d S )Nr   rz   rå   )Úclosedrg   ræ   rN   Úneitherr{   ÚbothrB   )rH   ÚIntervalr   r   rX   r2   r8   )r   Ú	intervalsr[   rd   r    r    r!   Ú(test_ensure_index_mixed_closed_intervals&  s   üz7TestIndexUtils.test_ensure_index_mixed_closed_intervalsc                 C   sF   dt  t j¡jg}t|ƒ}t|ƒ|ksJ ‚t|dd�}t ||¡ d S )Nr   r­   rB   )	r6   Úiinfor­   Úmaxr   r   r   r2   r8   )r   rG   r[   rd   r    r    r!   Útest_ensure_index_uint642  s
   z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g ƒ}tg ƒ}t ||¡ d S r1   )r   r   r2   r8   )r   r[   rd   r    r    r!   Útest_get_combined_index>  s   z&TestIndexUtils.test_get_combined_index)r”  r/  r0  r,   rô   r2  r   r   rk  rq  rt  ru  r    r    r    r!   rh    s&    ý&ýøþ
rh  Úopname)ÚeqÚneÚleÚltÚgeÚgtÚaddÚraddÚsubÚrsubÚmulÚrmulÚtruedivÚrtruedivÚfloordivÚ	rfloordivÚpowÚrpowÚmodÚdivmodc                 C   s(   d| › d�} t || ƒ}|j| ksJ ‚d S )NÚ__)r‰   r”  )rv  r%   rµ  r    r    r!   Útest_generated_op_namesD  s   
rŒ  ru   rz   )rs   r  r  rÂ   )rs   rC   r¡   c                 C   s>   t jtdd�� | dd� W d   ƒ d S 1 sw   Y  d S )Nzunexpected keyword argumentr*   r  )rË   )r,   r-   r‹   )ru   r    r    r!   Ú,test_index_subclass_constructor_wrong_kwargsc  s   "ÿr�  c                  C   s  d} t jt| d�� ttjddgtd�ddd� W d   ƒ n1 s"w   Y  t jt| d�� ttjg d	¢d
d�ddd� W d   ƒ n1 sGw   Y  t jt| d�� tdddddd� W d   ƒ n1 sgw   Y  t jt| d�� tg d¢ddd� W d   ƒ d S 1 sˆw   Y  d S )Nz[Uu]nexpected keyword argumentr*   rÂ   rÃ   rB   ÚtestT)r=   Úfastpathrà   r¦   r   rh   rg   rÁ   )	r,   r-   r‹   r   r6   r7   rX   r   r
   )r�   r    r    r!   Útest_deprecated_fastpathv  s   ÿÿÿ"ÿr�  c                  C   sP   t g d¢ƒ} tjtdd�� | d d …d f  W d   ƒ d S 1 s!w   Y  d S )N)r   rz   rg   rN   r)   r*   )r   r,   r-   r.   )rŽ  r    r    r!   Útest_shape_of_invalid_index…  s   "þr‘  rC   c                 C   sø   d}t  d¡ ddd¡}tjt|d�� t|| d� W d   ƒ n1 s$w   Y  t| dd¡ƒ}tjt|d�� t|| d� W d   ƒ n1 sIw   Y  tdt	dƒƒ}tjt|d�� t j
ddggd | d�|_W d   ƒ d S 1 suw   Y  d S )	Nz Index data must be 1-dimensionalr  rg   r*   rB   r{   r   rN   )r6   r  Úreshaper,   r-   r.   r   r   r   r©   r7   r%   )rC   r�   r9   rn   Úserr    r    r!   Útest_validate_1d_input‘  s   ÿÿ"ÿr”  zklass, extra_kwargsc                    s   g | ]
‰ ‡ fd d„i g‘qS )c                    s   t | ˆ d�S )NrB   r;  r  ©Údtypr    r!   r  ¨  r  z<listcomp>.<lambda>r    )r–   r    r•  r!   r  ¨  s    r  rO   rÀ  c                 C   sJ   | t t dd¡ƒfi |¤Ž}| ttddƒƒfi |¤Ž}tj||dd� d S )NiÐ  iÕ  Tr'  )Ú
memoryviewr6   r  r   r©   r2   r8   )ru   Úextra_kwargsr[   rd   r    r    r!   Útest_construct_from_memoryview¤  s   r™  r^  c                 C   sL   t tjgƒ}t dg¡}| ||ƒ}t ||¡ | || ¡ ƒ}t ||¡ d S r\  )r   r6   rq   r7   r2   rI   r@   )r^  rŽ  rd   r[   r    r    r!   Útest_nan_comparison_same_objectµ  s   
rš  r¤  c                  C   sF   dd l } tdgddggt |  |  ¡ ¡¡d�}|jrJ ‚|jr!J ‚d S )Nr   rz   rg   rN   rB   )r¤  r   rH   Ú
ArrowDtypeÚlist_r¦   r  r€  )ÚparŽ  r    r    r!   Ú#test_is_monotonic_pyarrow_list_typeÂ  s   &
rž  )DÚcollectionsr   r   Ú	functoolsr   r‹  Úoperatorrâ   Únumpyr6   r,   Úpandas.compatr   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr6  Úpandas.core.dtypes.commonr   r   r	   ÚpandasrH   r
   r   r   r   r   r   r   r   r   r   r   Úpandas._testingÚ_testingr2   Úpandas.core.indexes.apir   r   r   r   r   r   r:  rh  rô   r2  rŒ  r©   ro  rX   r�  r�  r‘  r¦   r­   rr   r”  ÚALL_REAL_NUMPY_DTYPESr™  rz  r|  rš  r7  rž  r    r    r    r!   Ú<module>   sŒ    4	          ; 34þ
øþ

ÿþýü
ûþ


