o
    Û­joì  ã                   @   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]död÷„ Z^ej 	d<g dø¢g dé¢g dù¢g dú¢edûddÉd�g¡düdý„ ƒZ_ejj	ddgdd	�ej 	dþdÿ�d g¡�d�d„ ƒƒZ`�d�d„ Zaejj	dg �d¢dd	��d�d„ ƒZbej 	�dg �d	¢¡�d
�d„ ƒZcej 	deed�dƒƒed‚dƒd…�e& e�d�dg¡e�d�d�d�d�g¡�d�d„ ƒZfe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& edi�d�dejf�dejejfg¡fg¡�d�d„ ƒZg�d�d„ Zh�d�d„ Ziej 	dÜeej�d ƒƒdfeeddÉƒƒdfg¡�d!�d"„ ƒZk�d#�d$„ Zl�d%�d&„ Zm�d'�d(„ Zn�d)�d*„ Zo�d+�d,„ Zpej 	�d-�ddðg¡ej 	�d.g e Tg ¡g �d/¢g �d0¢e Tg �d/¢¡e Tg �d0¢¡e�d1dd…�jqe�d1dd…� r¡ g¡�d2�d3„ ƒƒZsej 	�d.g e Tg ¡ejTg ejtdß�g¡�d4�d5„ ƒZuej 	�d6eg ƒejvfg¡�d7�d8„ ƒZw�d9�d:„ Zx�d;�d<„ Zy�d=�d>„ Zz�d?�d@„ Z{ej 	�dAe& e�dB�dCg¡e Tddg¡fe& e�dB�dDg¡e Tddg¡fg¡�dE�dF„ ƒZ|�dG�dH„ Z}ej 	de& eg �dI¢¡eg �dJ¢ƒg¡�dK�dL„ ƒZ~�dM�dN„ Zej 	�dOej€�dP�dQgfej��dR�dSgfg¡�dT�dU„ ƒZ‚�dV�dW„ Zƒ�dX�dY„ Z„�dZ�d[„ Z…�d\�d]„ Z†�d^�d_„ Z‡ej 	�d`dLejdƒdƒdƒdƒgfdNejej�da�da�dagfdejejej�db�dbgfg¡�dc�dd„ ƒZˆej 	�dedçg �df¢fdLg �dg¢fdNg �dh¢fg¡�di�dj„ ƒZ‰�dS (k  Ú	TestIndexÚreturnc                 C   s   t tdƒƒS )NÚabcde)r   Úlist©Úself© r    ú[/var/www/html/CropPilot/venv/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=   Ústr©Ú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   ÚdaterA   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 d}tjt|d�� | d¡ W d   ƒ d S 1 s@w   Y  d S )NzWhen changing to a larger dtyper*   r¯   zŒCannot change data-type for array of references\.|Cannot change data-type for object array\.|Cannot change data-type for array of strings\.|)rC   Úboolr,   r-   r.   r°   r‹   ©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_astypen  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ÚescaperA   )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  0  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>7  ó    ú&TestIndex.<lambda>.<locals>.<dictcomp>©r  ©rG   r%   r    r    r!   r  7  ó    zTestIndex.<lambda>c                 C   ó
   t | |ƒS r1   ©r   r1  r    r    r!   r  8  ó   
 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_simple4  s   	z"TestIndex.test_map_dictlike_simplec                 C   r)  )Nc                 S   r*  r    r    r+  r    r    r!   r-  E  r.  r/  r0  r1  r    r    r!   r  E  r2  c                 C   r3  r1   r4  r1  r    r    r!   r  F  r5  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_dictlikeB  s   




zTestIndex.test_map_dictlike)rÊ   ç       @r  )r   rg   r7  ©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_valuesa  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  o  r  z1TestIndex.test_map_na_exclusion.<locals>.<lambda>Úignore)Ú	na_actionrg   r?  r  r    r    r!   Útest_map_na_exclusionl  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  u  r  z0TestIndex.test_map_defaultdict.<locals>.<lambda>Ústuffrz   )rE  rD  rD  )r   r   r  r2   r8   )r   r%   Údefault_dictr[   rd   r    r    r!   Útest_map_defaultdicts  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¶   TrI  rJ  )r¦   F)r§   F)r­   F)r®   FrK  )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   ÚnowrA   Úendswithr   r2   rU   rV   Úformat)r   rR  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   rP  r*   ÚNaNr   rz   rg   rN   )r   rþ   r   rX   r2   rU   rV   rT  rE   rp   rA   )r   rƒ   Únulls_fixturer%   r�   rU  Ú	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%   Únra  Ú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-   ÚKeyErrorra  )r   r%   re  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Ê   rA  ©Úerrorsr  )r›   r   r©   Útolistra  r2   r8   )r   r%   rb  ra  Úmixedrc  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   ra  r2   r8   )r   r%   rc  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ß   rg  r*   rN   r{   )r   r,   r-   rh  ra  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ß   rA  rj  ro  )r   r&   rd   r%   rc  r    r    r!   Ú(test_drop_by_numeric_label_errors_ignore  s   z2TestIndex.test_drop_by_numeric_label_errors_ignore)rÁ   rÂ   ©rÃ   rÈ   )rÁ   rs  rÂ   )rs  rÁ   rÂ   Úto_droprs  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   ra  r2   r8   rá   râ   Ú__repr__r,   r-   rh  )	r   rG   rt  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,   r8  r   r   ÚuniqueÚrepeatra  r2   r8   r  r    r    r!   Ú"test_drop_with_duplicates_in_index4  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   rR  r‰   )r   r…   r%   r    r    r!   Útest_is_monotonic_incomparable@  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_isinM  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   rY  Únulls_fixture2rJ   Úidxr    r    r!   Útest_isin_nan_common_objectY  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   rY  Úfloat_numpy_dtyperC   r�   rŒ  Úresr    r    r!   Útest_isin_nan_common_float64~  s"   ÿÿÿz&TestIndex.test_isin_nan_common_float64Úlevelr   r7  )rŽ  r=  r}   rW  c                 C   sZ   |  ¡ dd … dg }t g d¢¡}t ||j||d�¡ d|_t ||j|dd�¡ d S )NéþÿÿÿÚnonexistingr†  ©r–  r»   )rl  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-   rh  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_emptyc                 C   s:   t ddg|d�}| d g¡}t ddg¡}t ||¡ d S )NrÁ   rÂ   rB   F)r   r‡  r6   r7   r2   rI   )r   Ústring_dtype_no_objectr%   r[   rd   r    r    r!   Útest_isin_string_nullÁ  s   zTestIndex.test_isin_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‰   rA   ©r–   r  ©r³  r    r!   r	     s    z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   rG   r‰   rA   r2   r8   )r   r³  r%   rd   r[   r    r¹  r!   Útest_str_attributeü  s   zTestIndex.test_str_attributerh   )rÊ   rf  )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-   ÚAttributeErrorrA   rz  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   rA   Ú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   rA   Ú
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%   rA   rÌ  r2   rl   )r   r%   re   r[   rd   r    r    r!   Útest_str_bool_series_indexing1  s
   z'TestIndex.test_str_bool_series_indexingÚabcdc                 C   s   dt |ƒv }||ksJ ‚d S )NrA   )Údirr  r    r    r!   Útest_tab_completion9  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_classA  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_sortG  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   r7  ÚBACT©Ú
fill_valuer   r~   F)Ú
allow_fillrÞ  )r   r~   r€   )r   r   Útaker6   r7   r2   r8   rq   r  r    r    r!   Útest_take_fill_valueS  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_raisesd  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_raisesp  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_ndarrayu  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Á  r9  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_warningsrA  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_position3  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_roundJ  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'  r6  Úfilterwarningsr<  r   r@  rC  rG  rH  rL  rM  rO  rV  r[  r`  rd  ri  rn  rp  rq  rr  rx  r{  r‚  r7   r¸   rˆ  r�  r•  rš  rœ  r   rX   r¡  r£  r¦  r¨  r«  r²  rº  r©   r  rÂ  rÆ  rÎ  rÏ  r   rÒ  rÓ  rÙ  rá  rã  rä  rG   rl  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"   _  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_argsortc  s   
"ÿzTestMixedIntIndex.test_argsortc                 C   sB   |}t jtdd�� t |¡ W d   ƒ d S 1 sw   Y  d S r8  )r,   r-   r‹   r6   r9  r:  r    r    r!   Útest_numpy_argsorth  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   r7  )rô   r2   r8   r=   r   r%   )r   r"   r%   r  ÚsecondÚs1Ús2Ús3r    r    r!   Útest_copy_namem  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   ry  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!   r`  –  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‡   rN  rO  )rR   ú2 daysú3 daysrR   rP  rQ  )ú2012-02ú2012-04ú2012-05ÚMra   )rR  rS  r�  rT  c                 C   s   |j |d�}t ||¡ d S )Nr¬  )rL  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   rL  )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   r9  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    )rA   r¸  r    r    r!   r	  ý  r2  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Á   rb  )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-  r.  r,   r/  r   r"   r;  r<  rB  rH  rJ  r`  rò   r0  rX   r6   rq   rM  r   rH   r�  r   r   rV  rW  rb   r5  rY  r\  r_  ra  r3  rc  r    r    r    r!   r6  [  s„    ûþ


þ
þ

þ
þþþëþ

øþ

r6  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_uint64/  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-  r.  r,   rò   r0  r   r   rg  rm  rp  rq  r    r    r    r!   rd    s&    ý&ýøþ
rd  Ú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’  )rr  r%   r³  r    r    r!   Útest_generated_op_namesA  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_kwargs`  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_fastpaths  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   r7  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 rX  )r   r6   rq   r7   r2   rI   r@   )r\  rŒ  rd   r[   r    r    r!   Útest_nan_comparison_same_object²  s   
r–  Úpyarrowc                  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_decoratorsÚtdÚ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   r6  rd  rò   r0  rˆ  r©   rk  rX   r‰  rŒ  r�  r¦   r­   rr   r�  ÚALL_REAL_NUMPY_DTYPESr•  rv  rx  r–  Ú
skip_if_nor›  r    r    r    r!   Ú<module>   sŒ    4	          8 34þ
øþ

ÿþýü
ûþ


