a
    oÝEb×  ã                   @   sÒ  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
mZ d dlmZ d dl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 d dlmZ d d	lm Z m!Z!m"Z"m#Z# d d
l$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ G dd„ de+ƒZ,G dd„ de+ƒZ-G dd„ dƒZ.e	j/ 0dg d¢¡dd„ ƒZ1e	j/ 0de 2¡ ¡dd„ ƒZ3e	j/ 4d¡dd„ ƒZ5dd„ Z6dd„ Z7e	j/ 0d e%i ge!i ge i gei gei ge"i ged!d"igg¡d#d$„ ƒZ8d%d&„ Z9d'd(„ Z:d)d*„ Z;dS )+é    )Údefaultdict)Údatetime)ÚStringION)ÚIS64)ÚInvalidIndexError)Ú
async_mark)
ÚCategoricalIndexÚ	DataFrameÚDatetimeIndexÚIntervalIndexÚPeriodIndexÚ
RangeIndexÚSeriesÚTimedeltaIndexÚ
date_rangeÚperiod_range)ÚFloat64IndexÚ
Int64IndexÚNumericIndexÚUInt64Index)ÚIndexÚ
MultiIndexÚ_get_combined_indexÚensure_indexÚensure_index_from_sequences)ÚBasec                   @   sî  e Zd ZeZejedœ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ej	j
ddgdd	�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j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j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;¡ej	 
d<d=d>g¡ej	 
d?eeg¡d@dA„ ƒƒƒZ!ej	 
d<d=d>g¡ej	 
d?ee"g¡dBdC„ ƒƒZ#ej	 
dDg e$g ƒdEdF„ dGD ƒg¡ej	 
d?eee%e&e'ee"g¡dHdI„ ƒƒZ(ej	 
dJe)g d6dK�e)fe)e$g ƒd6dK�e)fe)dLdF„ dGD ƒd6dK�e)fe*dMdN�e*fe+dMdOgdPdQggg g gdR�e+fg¡dSdT„ ƒZ,ej	j
dg dU¢dd	�dVdW„ ƒZ-ej	j
ddXdej.dYej	j/dZd[�d\�d]d^gdd	�d_d`„ ƒZ0ej	j
dd0dagdd	�dbdc„ ƒZ1ddde„ Z2ej	 
dfedgdhgƒeg di¢ƒg dj¢g¡dkdl„ ƒZ3dmdn„ Z4dodp„ Z5dqdr„ Z6ej	j
ddgdd	�dsdt„ ƒZ7dudv„ Z8ej	j
dg dw¢dd	�ej	 
dxej9ej:g¡dydz„ ƒƒZ;ej	j
dg dw¢dd	�d{d|„ ƒZ<d}d~„ Z=dd€„ Z>d�d‚„ Z?ej	 
d<g dƒ¢¡d„d…„ ƒZ@d†d‡„ ZAej	 
dˆd‰dŠ„ d‹dŠ„ g¡dŒd�„ ƒZBej	 
dˆdŽdŠ„ d�dŠ„ g¡d�d‘„ ƒZCej	 
dˆeDg d’¢g d“¢d”�d•d–d—d“œg¡d˜d™„ ƒZEdšd›„ ZFdœd�„ ZGej	 
dždŸd g¡d¡d¢„ ƒZHej	j
d£g d¤¢dgd	�d¥d¦„ ƒZIej	j
d£g d§¢dgd	�d¨d©„ ƒZJej	j
d£g dª¢dgd	�d«d¬„ ƒZKd­d®„ ZLd¯d°„ ZMej	 
d±g d²¢g dj¢g¡d³d´„ ƒZNej	 
dµd¶d·g¡d¸d¹„ ƒZOej	j
dg dw¢dd	�dºd»„ ƒZPej	j
dg dw¢dd	�ej	 
d¼d•d½gd¾d½gg¡d¿dÀ„ ƒƒZQej	j
dg dw¢dd	�dÁdÂ„ ƒZRdÃdÄ„ ZSdÅdÆ„ ZTej	 
dÇdÈeg dÉ¢ƒfg dÊ¢edMdOgƒfg¡dËdÌ„ ƒZUej	 
d=g dÍ¢g dÎ¢g dÏ¢g¡ej	 
dÐdÑdggdgdÑgg¡dÒdÓ„ ƒƒZVdÔdÕ„ ZWej	 
d<g dÖ¢¡d×dØ„ ƒZXdÙdÚ„ ZYej	 
d=g dÛ¢h dÜ£g¡ej	 
dÝeg dÞ¢ƒe Zg dß¢¡feg ƒejZg e[dà�fg¡dádâ„ ƒƒZ\dãdä„ Z]dådæ„ Z^ej	 
dçdèdég¡ej	 
deg dÞ¢ƒeg dê¢ƒg¡dëdì„ ƒƒZ_dídî„ Z`ej	 
dïdðdñdòejg¡dódô„ ƒZaej	 
d^g eDebdà�e Zg ¡g¡dõdö„ ƒZcej	 
d=g d÷¢g dê¢g dø¢g dù¢edúddÈd�g¡dûdü„ ƒZdej	j
ddgdd	�ej	 
dýdþdÿg¡�d �d„ ƒƒZe�d�d„ Zfej	j
dg �d¢dd	��d�d„ ƒZgej	 
�dg �d¢¡�d	�d
„ ƒZhej	 
deei�dƒƒej k�d¡e+ l�d�dg¡e�d�dd5�d�g¡�d�d„ ƒZmej	 
�d�deg dj¢�d�dg�dggƒfdeg dj¢�d�dg�dggƒfde+ ldj�d�dejf�dejejfg¡fg¡�d�d„ ƒZn�d�d„ Zo�d�d„ Zpej	 
dÝeeq�dƒƒdfeeidÈƒƒdfg¡�d �d!„ ƒZr�d"�d#„ Zs�d$�d%„ Zt�d&�d'„ Zu�d(�d)„ Zv�d*�d+„ Zwej	 
�d,�ddñg¡ej	 
�d-g e Zg ¡g �d.¢g �d/¢e Zg �d.¢¡e Zg �d/¢¡e�d0d�d1�jxe�d0d�d1� y¡ g¡�d2�d3„ ƒƒZzej	 
�d-g e Zg ¡ejZg ej{dà�g¡�d4�d5„ ƒZ|ej	 
�d6e%g ƒej{feg ƒejfeg ƒej}fg¡�d7�d8„ ƒZ~�d9�d:„ Z�d;�d<„ Z€ej	 
�d=e+ l�d>�d?g¡e Zddg¡fe+ l�d>�d@g¡e Zddg¡fg¡�dA�dB„ ƒZ��dC�dD„ Z‚ej	 
de+ lg �dE¢¡eg �dF¢ƒg¡�dG�dH„ ƒZƒ�dI�dJ„ Z„ej	 
�dKej…ej†g¡�dL�dM„ ƒZ‡�dN�dO„ Zˆe‰ƒ �dP�dQ„ ƒZŠ�dR�dS„ Z‹�dT�dU„ ZŒ�dS (V  Ú	TestIndex©Úreturnc                 C   s   |   tdƒ¡S )NZabcde)Ú
_index_clsÚlist©Úself© r#   ú^/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/indexes/test_base.pyÚsimple_index/   s    zTestIndex.simple_indexc                 C   s"   |}|d }|  |¡du sJ ‚d S )Nr   T)Z$_can_hold_identifiers_and_holds_name)r"   r%   ÚindexÚkeyr#   r#   r$   Útest_can_hold_identifiers3   s    z#TestIndex.test_can_hold_identifiersr&   r   T)Zindirectc                 C   s\   t  t¡�  |d d d …f }W d   ƒ n1 s00    Y  |jdksHJ ‚t|tjƒsXJ ‚d S ©Né   )ÚtmÚassert_produces_warningÚFutureWarningÚndimÚ
isinstanceÚnpÚndarray)r"   r&   Ú	new_indexr#   r#   r$   Útest_new_axis8   s    .zTestIndex.test_new_axisc                 C   s   t  ||¡ d S ©N)r+   Úassert_contains_all©r"   r&   r#   r#   r$   Útest_constructor_regular@   s    z"TestIndex.test_constructor_regularÚstringc                 C   s.   t  |¡}t|ƒ}t ||¡ t ||¡ d S r4   )r0   Úarrayr   r+   r5   Úassert_index_equal©r"   r&   Úarrr2   r#   r#   r$   Útest_constructor_castingC   s    
z"TestIndex.test_constructor_castingc                 C   s^   t  |¡}t|ddd�}t|tƒs&J ‚|jdks4J ‚t ||j¡ d|d< |d dksZJ ‚d S )NTÚname©Úcopyr>   ZSOMEBIGLONGSTRINGr   )r0   r9   r   r/   r>   r+   Úassert_numpy_array_equalÚvaluesr;   r#   r#   r$   Útest_constructor_copyK   s    
zTestIndex.test_constructor_copyÚcast_as_objFz2015-01-01 10:00ÚDé   z
US/EasternzGreen Eggs & Ham)ÚfreqÚperiodsÚtzr>   )rG   rH   ú1 daysz
2015-01-01c                 C   sŠ   |rt | t¡ƒ}nt |ƒ}t ||¡ t|tƒr†|j|jksBJ ‚|r†|tj	dd�7 }t |td�}|j
tjksrJ ‚t|ƒt|ƒks†J ‚d S )Né2   )Únanoseconds©Údtype)r   ÚastypeÚobjectr+   r:   r/   r
   rI   ÚpdZ	TimedeltarN   r0   Úobject_r    )r"   rD   r&   Úresultr#   r#   r$   Ú"test_constructor_from_index_dtlikeU   s    
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rG   rH   rI   c                 C   s0   t t|ƒƒ}t ||¡ |r,|j|jks,J ‚d S r4   )r   r   r+   r:   rI   )r"   r&   Zhas_tzrS   r#   r#   r$   Ú#test_constructor_from_series_dtlikex   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©rG   )r
   r   rQ   Úto_datetimer+   r:   )r"   ÚdtsÚexpectedÚsrS   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�}|d jtksPJ ‚d|_t 	||¡ t
|dd�}t |d |¡ t |d ¡}|dks˜J ‚d S )NrV   rW   rX   é   rF   Údate©r>   )r
   r	   r0   ÚrandomZrandrN   rP   r>   r+   r:   r   Úassert_series_equalrQ   Z
infer_freq)r"   rZ   r[   ÚdfrS   rG   r#   r#   r$   Ú'test_constructor_from_frame_series_freq•   s    z1TestIndex.test_constructor_from_frame_series_freqc                 C   s,   t jg}t|ƒ}t|dd�}t ||¡ d S )NÚfloatrM   )r0   Únanr   r   r+   r:   )r"   Údatar[   rS   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 r4   )rN   r   r+   r:   r0   r9   )r"   ÚklassrN   Zna_valZna_listr[   rS   r#   r#   r$   Útest_index_ctor_infer_nan_nat²   s    	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype©é   r*   rF   é   r^   Úintgš™™™™™ñ?gš™™™™™@ç      @re   ÚAÚBÚCÚobjc                 C   s*   t ||d�}| |j|¡}t ||¡ d S )Nr`   )r   Z_simple_newrB   r+   r:   )r"   ÚvalsrN   r&   rS   r#   r#   r$   Útest_constructor_simple_newÅ   s    	z%TestIndex.test_constructor_simple_newú+ignore:Passing keywords other:FutureWarningÚattrrB   Úasi8ri   c           	      C   sb  t ddd�}t||ƒ}| |¡}|j}|d u r2d nt}|dkrNt|ƒ |¡}n|||d�}t ||¡ |dkr¨t |¡� t|ƒ 	|¡}W d   ƒ q´1 sœ0    Y  n|||d�}t ||¡ |dkrÜtt
|ƒƒ |¡}n|t
|ƒ|d�}t ||¡ |dk�rBt |¡�" tt
|ƒƒ 	|¡}W d   ƒ n1 �s60    Y  n|t
|ƒ|d�}t ||¡ d S )Nú
2011-01-01r^   ©rH   rx   )rI   rM   )r   ÚgetattrZtz_localizerN   r-   r
   r+   r:   r,   rO   r    )	r"   Ztz_naive_fixturerw   ri   r&   ÚargrN   ÚwarnrS   r#   r#   r$   Ú test_constructor_dtypes_datetimeÒ   s.    	

.
4z*TestIndex.test_constructor_dtypes_datetimec                 C   s`   t jddd�}| d ¡}|j}t||ƒ}|||d�}t ||¡ |t|ƒ|d�}t ||¡ d S )NrJ   r^   rz   rM   )rQ   Útimedelta_rangeZ
_with_freqrN   r{   r+   r:   r    )r"   rw   ri   r&   rN   rB   rS   r#   r#   r$   Ú!test_constructor_dtypes_timedeltaý   s    

z+TestIndex.test_constructor_dtypes_timedeltaÚvaluec                 c   s   | ]
}|V  qd S r4   r#   ©Ú.0Ú_r#   r#   r$   Ú	<genexpr>  ó    zTestIndex.<genexpr>r#   c                 C   s&   ||ƒ}t ||ƒsJ ‚t|ƒr"J ‚d S r4   ©r/   Úlen)r"   r�   ri   Úemptyr#   r#   r$   Útest_constructor_empty  s    z TestIndex.test_constructor_emptyzempty,klassrX   c                 c   s   | ]
}|V  qd S r4   r#   r‚   r#   r#   r$   r…   #  r†   rl   )Ústepr*   ÚblueÚred)ÚlevelsÚcodesc                 C   s   t ||ƒsJ ‚t|ƒrJ ‚d S r4   r‡   )r"   r‰   ri   r#   r#   r$   Útest_constructor_empty_special  s    z(TestIndex.test_constructor_empty_special)	r   re   rn   ZperiodÚrangeZrepeatsÚ	timedeltaZtuplesÚuintc                 C   s   |  d¡ d S )NÚi8)Úviewr6   r#   r#   r$   Útest_view_with_args,  s    zTestIndex.test_view_with_argsÚunicodeÚcategoricalzgh-25464)Úreason)ZmarksÚboolr‰   c                 C   s@   d}t jt|d�� | d¡ W d   ƒ n1 s20    Y  d S )Nz(Cannot change data-type for object array©Úmatchr”   )ÚpytestÚraisesÚ	TypeErrorr•   ©r"   r&   Úmsgr#   r#   r$   Ú'test_view_with_args_object_array_raises>  s    z1TestIndex.test_view_with_args_object_array_raisesr‘   c                 C   s6   |  d¡}| d¡ d|_|  d¡}|jdks2J ‚d S )Nr”   r^   Úfoobar)rO   Úget_locr>   )r"   r&   Z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_objectZ  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 ‚| |¡rLJ ‚| d¡}| |¡sdJ ‚t g d¢ƒ}t g d¢dd�}| |¡rŽJ ‚d S )Nr§   Úfoo)©r¨   r¨   ©r¨   r©   )r©   r¨   F)Ztupleize_cols)r   Ú	identicalÚrenamer¬   )r"   Úi1Úi2Zi3Úi4r#   r#   r$   Útest_identicald  s    

zTestIndex.test_identicalc                 C   s0  t tdƒƒ}| |¡sJ ‚| | ¡  ¡  ¡  ¡ ¡s8J ‚| t tdƒƒ¡rNJ ‚| | ¡ ¡r`J ‚| |jdd�¡rvJ ‚| |d d … ¡rŒJ ‚| t tdƒ¡¡r¤J ‚| | ¡ ¡s¶J ‚| ¡ }d|_| |¡sÒJ ‚| |¡sàJ ‚| t |jƒ¡rôJ ‚t tddƒ¡}t |dd�}t |dd�}| |¡�r,J ‚d S )Né
   F)ÚdeepZbobrl   é   ©r@   )	r   r‘   Úis_r•   r@   r0   r9   r>   rB   )r"   ÚindZind2r<   Zind1r#   r#   r$   Útest_is_w  s$    zTestIndex.test_is_c                 C   sà   t g d¢ƒ}t ddgƒ}d}tjt|d�� | |d ¡ W d   ƒ n1 sN0    Y  tjtt t|ƒ¡d�� | |¡ W d   ƒ n1 s�0    Y  tjtt t|ƒ¡d�� | |¡ W d   ƒ n1 sÒ0    Y  d S )N©rl   r*   rF   TFz&Cannot compare dtypes int64 and objectr›   r   )	r   r�   rž   rŸ   Z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s0J ‚q0|t|ƒ }t|ƒD ]\}}| |¡|ks`J ‚q`d S )NrM   Fr^   é   r*   )r0   Zonesrˆ   rš   Ú	enumerater¤   r    )r"   r&   Z
bool_indexZ	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)r8   rn   re   rN   c                 C   sB   t jg |d�}t|ƒg ƒ}|g   |¡s,J ‚||  |¡s>J ‚d S )NrM   )r0   r9   Útyper´   )r"   r&   rN   Z	empty_arrÚempty_indexr#   r#   r$   Útest_empty_fancy±  s    zTestIndex.test_empty_fancyc                 C   sl   t jg t jd�}t|ƒg ƒ}|g   |¡s.J ‚d}tjt|d�� ||  W d   ƒ n1 s^0    Y  d S )NrM   z=arrays used as indices must be of integer \(or boolean\) typer›   )r0   r9   Zfloat_rÏ   r´   r�   rž   Ú
IndexError)r"   r&   Z
empty_farrrÐ   r¡   r#   r#   r$   Útest_empty_fancy_raisesº  s    z!TestIndex.test_empty_fancy_raisesc                 C   s~   |}t ddd�}| |¡}| |¡}t || d¡¡}t ||¡sFJ ‚t ||¡sVJ ‚t ||¡ t ||¡ t ||¡ d S )Nz
2019-01-01rº   rz   ÚO)r   Úunionr0   ÚappendrO   r+   ZequalContentsr5   )r"   Úsortr%   r&   Ú
date_indexZ	first_catZ
second_catZappendedr#   r#   r$   Útest_union_dt_as_objÇ  s    

zTestIndex.test_union_dt_as_objc                 C   sn   t  d¡}t  d¡ dd„ ¡}tdd„ |D ƒƒ}t  ||¡ | dd„ ¡}t dd„ |D ƒ¡}t  ||¡ d S )NrF   c                 S   s   | fS r4   r#   ©Úxr#   r#   r$   Ú<lambda>Ü  r†   z0TestIndex.test_map_with_tuples.<locals>.<lambda>c                 S   s   g | ]
}|f‘qS r#   r#   ©rƒ   rÊ   r#   r#   r$   Ú
<listcomp>Ý  r†   z2TestIndex.test_map_with_tuples.<locals>.<listcomp>c                 S   s   | | dkfS ©Nrl   r#   rÚ   r#   r#   r$   rÜ   â  r†   c                 S   s   g | ]}||d kf‘qS )rl   r#   rÝ   r#   r#   r$   rÞ   ã  r†   )r+   ÚmakeIntIndexÚmapr   r:   r   Úfrom_tuples©r"   r&   rS   r[   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Ü   ë  r†   z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)r   râ   Úziprá   r+   r:   r   )r"   Zfirst_levelZmulti_indexZreduced_indexr#   r#   r$   Útest_map_with_tuples_miæ  s    z!TestIndex.test_map_with_tuples_mi)ÚmakeDateIndexZmakePeriodIndexZmakeTimedeltaIndexc                 C   s:   t t|ƒdƒ}tdgd ƒ}| dd„ ¡}t ||¡ d S )Nrº   rl   c                 S   s   dS rß   r#   rÚ   r#   r#   r$   rÜ   ô  r†   zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)r{   r+   r   rá   r:   )r"   rw   r&   r[   rS   r#   r#   r$   Ú%test_map_tseries_indices_return_indexî  s    z/TestIndex.test_map_tseries_indices_return_indexc                 C   s>   t jdddd�}ttdƒdd�}t j|| dd„ ¡dd	� d S )
Né   ÚhZhourly)rG   r>   r`   c                 S   s   | j S r4   )ÚhourrÚ   r#   r#   r$   rÜ   ú  r†   zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>T©Úexact)r+   rë   r   r‘   r:   rá   )r"   rØ   r[   r#   r#   r$   Ú+test_map_tseries_indices_accsr_return_index÷  s    z5TestIndex.test_map_tseries_indices_accsr_return_indexÚmapperc                 C   s   dd„ t | |ƒD ƒS )Nc                 S   s   i | ]\}}||“qS r#   r#   ©rƒ   ÚerÊ   r#   r#   r$   Ú
<dictcomp>ÿ  r†   ú&TestIndex.<lambda>.<locals>.<dictcomp>©ré   ©rB   r&   r#   r#   r$   rÜ   ÿ  r†   zTestIndex.<lambda>c                 C   s
   t | |ƒS r4   ©r   rù   r#   r#   r$   rÜ      r†   c                 C   s8   t g d¢ƒ}t d¡}| ||j|ƒ¡}t ||¡ d S )Nrå   rF   )r   r+   rà   rá   rB   r:   )r"   ró   r[   r&   rS   r#   r#   r$   Útest_map_dictlike_simpleü  s    	
z"TestIndex.test_map_dictlike_simplec                 C   s   dd„ t | |ƒD ƒS )Nc                 S   s   i | ]\}}||“qS r#   r#   rô   r#   r#   r$   rö     r†   r÷   rø   rù   r#   r#   r$   rÜ     r†   c                 C   s
   t | |ƒS r4   rú   rù   r#   r#   r$   rÜ     r†   c                 C   s¼   t |tƒrd S |jsd S t t|ƒdd¡}|jr:tg ƒ}nb|jrR|j	||j
d�}nJt|ƒtu rx|j
tkrxt||j
d�}n$|j
jdkr”t||j
d�}nt|ƒ}| |||ƒ¡}t ||¡ d S )Nr   éÿÿÿÿrM   Úu)r/   r   Ú	is_uniquer0   Úarangerˆ   r‰   r   Z(_is_backward_compat_public_numeric_indexZ_constructorrN   rÏ   rP   Úkindrá   r+   r:   )r"   r&   ró   Úrngr[   rS   r#   r#   r$   Útest_map_dictlike
  s     	

zTestIndex.test_map_dictlike)r±   ç       @rç   )r   r*   rü   ©r&   r±   r  rç   c                 C   s2   t dtjdgƒ}t g d¢ƒ |¡}t ||¡ d S )Nr  r±   )r*   rl   r   ©r   r0   rf   rá   r+   r:   )r"   ró   r[   rS   r#   r#   r$   Ú)test_map_with_non_function_missing_values,  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      ø?rF   r^   c                 S   s   | d S r)   r#   rÚ   r#   r#   r$   rÜ   :  r†   z1TestIndex.test_map_na_exclusion.<locals>.<lambda>Úignore)Z	na_actionr*   r  rã   r#   r#   r$   Útest_map_na_exclusion7  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   s   dS )NÚblankr#   r#   r#   r#   r$   rÜ   @  r†   z0TestIndex.test_map_defaultdict.<locals>.<lambda>Ústuffrl   )r
  r	  r	  )r   r   rá   r+   r:   )r"   r&   Zdefault_dictrS   r[   r#   r#   r$   Útest_map_defaultdict>  s    
zTestIndex.test_map_defaultdictzname,expected)r±   r±   )ræ   Nc                 C   s8   t g dd�}t g d¢|d�}| |¡}|j|ks4J ‚d S )Nr±   r`   rÁ   )r   rÖ   r>   )r"   r>   r[   rÅ   rÆ   rS   r#   r#   r$   Útest_append_empty_preserve_nameF  s    
z)TestIndex.test_append_empty_preserve_namezindex, expected)©r8   F©rš   F©r˜   F)rn   T©r   F)re   Tc                 C   s   |  ¡ |u sJ ‚d S r4   )Z
is_numeric©r"   r&   r[   r#   r#   r$   Útest_is_numericN  s    zTestIndex.test_is_numeric))r8   T)rš   Tr  ©rn   Fr  ©re   Fc                 C   s   |  ¡ |u sJ ‚d S r4   )Z	is_objectr  r#   r#   r$   Útest_is_object]  s    zTestIndex.test_is_object)r  r  r  r  )r   Tr  c                 C   s<   t  t¡� |j|u sJ ‚W d   ƒ n1 s.0    Y  d S r4   )r+   r,   r-   Zis_all_datesr  r#   r#   r$   Útest_is_all_datesl  s    zTestIndex.test_is_all_datesc                 C   s   |  ¡  d S r4   )Z_summaryr6   r#   r#   r$   Útest_summary|  s    zTestIndex.test_summaryc                 C   sR   t  ¡ }t|ƒ d¡sBt|gƒ}| ¡ }t|d ƒg}||ksBJ ‚tg ƒ ¡  d S )NZ000r   )r   ÚnowrÄ   Úendswithr   Úformat)r"   r  r&   Ú	formattedr[   r#   r#   r$   Útest_format_bug  s    
zTestIndex.test_format_bugrt   )rl   y       @      @ç      @c                 C   s|   t |ƒ}| |¡ t|ƒ}| ¡ }t|tƒr0dnt|ƒ}t|d ƒt|d ƒt|d ƒ|g}||kshJ ‚|d |u sxJ ‚d S )NÚNaNr   rl   r*   rF   )r    rÖ   r   r  r/   re   rÄ   )r"   rt   Únulls_fixturer&   r  Z	null_reprr[   r#   r#   r$   Útest_format_missing�  s    
$zTestIndex.test_format_missingÚopÚanyÚallc                 C   s&   |}t ||ƒƒ t |j|ƒƒ ks"J ‚d S r4   )r{   rB   )r"   r!  r%   r&   r#   r#   r$   Útest_logical_compat›  s    zTestIndex.test_logical_compatc                 C   sx   t |ƒ}|ttddƒƒ }| |¡}|ttdƒƒttd|ƒƒ  }t ||¡ | |d ¡}|dd … }t ||¡ d S )Nr^   rº   r   rl   )rˆ   r    r‘   Údropr+   r:   )r"   r&   Únr%  Údroppedr[   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   ƒ n1 s.0    Y  d S )NÚ r›   )r�   rž   ÚKeyErrorr%  )r"   r&   r)  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 )Nr^   rº   r±   r  ©Úerrorsræ   )rˆ   r    r‘   Útolistr%  r+   r:   )r"   r&   r&  r%  Úmixedr'  r[   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Á   rl   r*   rF   ©r   r%  r+   r:   )r"   r&   r'  r[   r#   r#   r$   Útest_drop_by_numeric_label_locÁ  s    
z(TestIndex.test_drop_by_numeric_label_locc                 C   sL   t g d¢ƒ}tjtdd�� | ddg¡ W d   ƒ n1 s>0    Y  d S )NrÁ   r+  r›   rF   rm   )r   r�   rž   r,  r%  r6   r#   r#   r$   Ú.test_drop_by_numeric_label_raises_missing_keysÉ  s    z8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedrm   rÁ   )rF   rm   r^   c                 C   s*   t g d¢ƒ}|j|dd�}t ||¡ d S )NrÁ   r  r.  r3  )r"   r'   r[   r&   r'  r#   r#   r$   Ú(test_drop_by_numeric_label_errors_ignoreÎ  s    z2TestIndex.test_drop_by_numeric_label_errors_ignore)r¨   r©   ©rª   r¯   )r¨   r7  r©   )r7  r¨   r©   Úto_dropr7  c           	   	   C   sà   t |ƒ}t dgƒ}| |¡}t ||¡ | |d ¡}|d |d gfD ]}| |¡}t ||¡ qH| |d ¡}dt |d  ¡ ¡› d�}|d |d gfD ]<}tjt	|d�� | |¡ W d   ƒ qž1 sÐ0    Y  qžd S )Nr©   r   rl   z\"\[z\] not found in axis\"r›   )
r   r%  r+   r:   rÂ   rÃ   Ú__repr__r�   rž   r,  )	r"   rB   r8  r&   r[   rS   ÚremovedZdrop_mer¡   r#   r#   r$   Útest_drop_tuple×  s    


zTestIndex.test_drop_tuplec                 C   sj   t |ƒdkst|tƒrd S t|tƒr2ts2t d¡ | ¡  d¡}|dd … }| 	|d ¡}t
 ||¡ d S )Nr   z=Cannot test IntervalIndex with int64 dtype on 32 bit platformr*   )rˆ   r/   r   r   r   r�   ÚskipÚuniqueÚrepeatr%  r+   r:   ©r"   r&   r[   rS   r#   r#   r$   Ú"test_drop_with_duplicates_in_indexï  s    
z,TestIndex.test_drop_with_duplicates_in_index©Zis_monotonic_increasingZis_monotonic_decreasingZ!_is_strictly_monotonic_increasingZ!_is_strictly_monotonic_decreasingc                 C   s$   t dt ¡ dgƒ}t||ƒr J ‚d S )Nr^   é   )r   r   r  r{   )r"   rw   r&   r#   r#   r$   Útest_is_monotonic_incomparableú  s    
z(TestIndex.test_is_monotonic_incomparablec                 C   sb   |}t  g d¢¡}t t¡�" | ||d d¡ W d   ƒ n1 sD0    Y  |d dks^J ‚d S )NrÁ   rl   éP   )r0   r9   r+   r,   r-   Ú	set_value)r"   r%   Úidxr<   r#   r#   r$   Útest_set_value_deprecated  s
    0z#TestIndex.test_set_value_deprecated)r±   ræ   Úquux>   r±   rH  ræ   úindex,expected)Úquxrç   r±   ræ   ©FFTTrM   c                 C   s   |  |¡}t ||¡ d S r4   )Úisinr+   rA   )r"   rB   r&   r[   rS   r#   r#   r$   Ú	test_isin  s    	
zTestIndex.test_isinc                 C   sª   t |tƒrPt |tƒrPt |¡rPt |¡rPt td|gƒ |g¡t 	ddg¡¡ nV||u r€t td|gƒ |g¡t 	ddg¡¡ n&t td|gƒ |g¡t 	ddg¡¡ d S )Nr¨   FT)
r/   re   ÚmathÚisnanr+   rA   r   rL  r0   r9   )r"   Úrequestr  Znulls_fixture2r#   r#   r$   Útest_isin_nan_common_object  s*    ÿþýüþþþz%TestIndex.test_isin_nan_common_objectc                 C   sÐ   |t ju s|t ju rxd}tjt|d�� td|gƒ W d   ƒ n1 sH0    Y  tdtjgƒ}| 	|g¡ 
¡ rtJ ‚d S td|gƒ}| 	tjg¡}t |t ddg¡¡ | 	t jg¡}t |t ddg¡¡ d S )Nz(data is not compatible with Float64Indexr›   ç      ð?FT)rQ   ÚNaTZNAr�   rž   Ú
ValueErrorr   r0   rf   rL  r"  r+   rA   r9   )r"   rP  r  r¡   rF  Úresr#   r#   r$   Útest_isin_nan_common_float647  s    *z&TestIndex.test_isin_nan_common_float64Úlevelr   rü   )rR  r  ro   r  c                 C   sZ   |  ¡ dd … dg }t g d¢¡}t ||j||d�¡ d|_t ||j|dd�¡ d S )NéþÿÿÿZnonexistingrK  ©rW  r£   )r0  r0   r9   r+   rA   rL  r>   )r"   rW  r&   rB   r[   r#   r#   r$   Útest_isin_level_kwargL  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   ƒ q1 sJ0    Y  qd S )Nrº   rl   zToo many levelsr›   rY  )Znlevelsr�   rž   rÒ   rL  )r"   r&   rW  r#   r#   r$   Ú&test_isin_level_kwarg_bad_level_raises^  s    z0TestIndex.test_isin_level_kwarg_bad_level_raisesÚlabelrR  r£   Zxyzzyc                 C   sŠ   t |tƒr4| ddg|jdd …  ¡}d|› d�}n| d¡}d|› d�}tjt|d�� |jg |d	� W d   ƒ n1 s|0    Y  d S )
Nr±   ræ   r*   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r›   rY  )r/   r   rµ   Únamesr�   rž   r,  rL  )r"   r\  r&   r¡   r#   r#   r$   Ú&test_isin_level_kwarg_bad_label_raisesc  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   r0   r9   rL  r+   rA   )r"   r‰   r&   r[   rS   r#   r#   r$   Útest_isin_emptyn  s    
zTestIndex.test_isin_empty©rl   r*   rF   rm   ©TTTT)r±   ræ   rç   rJ  z
2018-01-01c                 C   s2   t |ƒ}||k}tjg d¢td�}t ||¡ d S )Nra  rM   )r   r0   r9   rš   r+   rA   )r"   rB   r&   rS   r[   r#   r#   r$   Útest_boolean_cmpw  s    zTestIndex.test_boolean_cmpz
name,levelrè   r²   c                 C   s,   |  ¡ }|r||_| |¡}t ||¡ d S r4   )r@   r>   Zget_level_valuesr+   r:   )r"   r&   r>   rW  r[   rS   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©   Zasdfr`   rl   ©r   r>   r6   r#   r#   r$   Útest_slice_keep_name’  s    zTestIndex.test_slice_keep_name)r—   r8   r   rn   r“   re   c                 C   s   |j ||d�}||u sJ ‚d S ©N©Úhow)Újoin)r"   r&   Z	join_typeZjoinedr#   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 Zfrankc                    s   g | ]}t tˆ ƒ|ƒ‘qS r#   )r{   rÄ   ©rƒ   rÛ   ©rk  r#   r$   rÞ   £  r†   z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   rB   r{   rÄ   r+   r:   )r"   rk  r&   r[   rS   r#   rp  r$   Útest_str_attributeŸ  s    zTestIndex.test_str_attributer^   rº   )r±   r*  )ræ   Ú3Ú2000Z2010)ÚstartÚendrG   c                 C   s>   t jtdd�� |j d¡ W d   ƒ n1 s00    Y  d S )Nzonly use .str accessorr›   r*   )r�   rž   ÚAttributeErrorrÄ   r>  r6   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 erx  )Úexpand)r   rÄ   Úsplitr+   r:   )r"   ry  r[   r&   rS   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ƒsBJ ‚d S )N©Úa1Úa2Úb1Úb2r¨   )TTFF)	r   rÄ   Ú
startswithr0   r9   r+   rA   r/   r1   rã   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|  rm   r  r¨   r*   r}  r~  )r   r   r‘   r&   rÄ   r�  r+   rb   )r"   r&   r\   rS   r[   r#   r#   r$   Útest_str_bool_series_indexingÔ  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�¡s0J ‚|ddg  t ddgtjd�¡sTJ ‚d S )N)rl   r*   rF   r¨   r©   rª   rl   rF   r*   rM   r   )r   r´   r0   rR   r6   r#   r#   r$   Ú!test_indexing_doesnt_change_classä  s    $z+TestIndex.test_indexing_doesnt_change_classc                 C   s¢   t tj d¡ƒ}t d¡}t t¡� |j|dd�}W d   ƒ n1 sH0    Y  t t¡�& | 	t
¡ | 	t
¡¡}W d   ƒ n1 sˆ0    Y  t ||¡ d S )Né   rº   Úouterrg  )r   r0   ra   Zpermutationr+   rë   r,   ÚRuntimeWarningri  rO   rP   rÕ   r:   )r"   Z
left_indexZright_indexrS   r[   r#   r#   r$   Útest_outer_join_sortê  s    
,4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`   )rl   r   rü   ZBACT©Ú
fill_valuerq   rp   F)Z
allow_fillr�  )rq   rp   rr   )r   r    Útaker0   r9   r+   r:   rf   rã   r#   r#   r$   Útest_take_fill_valueø  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 sP0    Y  tjt|d��( |jt g d	¢¡dd� W d   ƒ n1 s–0    Y  d S )
NrŒ  r�  r`   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r›   )rl   r   rX  TrŽ  )rl   r   éûÿÿÿ)r   r    r�   rž   rT  r�  r0   r9   r    r#   r#   r$   Ú test_take_fill_value_none_raises	  s    ÿ6z*TestIndex.test_take_fill_value_none_raisesc                 C   sV   t tdƒdd�}tjtdd��$ | t ddg¡¡ W d   ƒ n1 sH0    Y  d S )NrŒ  r�  r`   zout of boundsr›   rl   r’  )r   r    r�   rž   rÒ   r�  r0   r9   r6   r#   r#   r$   Útest_take_bad_bounds_raises  s    z%TestIndex.test_take_bad_bounds_raisesr>   Úlabels©rp   rq   rr   )rr   rq   rp   Z20130101rz   c                 C   s.   t g d¢ƒ}||_| |¡d j|ks*J ‚d S )N)r   rl   r*   r   )r   r>   Úreindex)r"   r>   r•  r&   r#   r#   r$   Ú8test_reindex_preserves_name_if_target_is_list_or_ndarray  s    zBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarrayc                 C   s,   t tdƒƒ}| |¡d jjtjks(J ‚d S ©NÚabcr   )r   r    r—  rN   rÏ   r0   rR   )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—  rN   rÏ   )r"   r•  rN   r&   r#   r#   r$   Ú:test_reindex_doesnt_preserve_type_if_target_is_empty_index5  s    
zDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_indexc                 C   sd   t tdƒƒ}| ttg ƒtg ƒgg g gƒ¡d }|jd jjt	j
ksHJ ‚|jd jjt	jks`J ‚d S )Nrš  r   rl   )r   r    r—  r   r   r   rŽ   rN   rÏ   r0   Úint64Úfloat64)r"   r&   rS   r#   r#   r$   Ú-test_reindex_no_type_preserve_target_empty_miB  s    ÿþz7TestIndex.test_reindex_no_type_preserve_target_empty_mic                 C   sJ   t tdƒƒ}| t g d¢¡¡}t ddgƒt g d¢ƒdœ}t ||¡ d S )Nr^   )rl   rl   r*   r*   r*   r   rl   )r*   rF   rm   ©rl   r*   )r   r‘   Úgroupbyr0   r9   r+   Zassert_dict_equalrã   r#   r#   r$   Útest_groupbyJ  s    zTestIndex.test_groupbyzmi,expectedr   ©rm   r^   )rm   é   c                 C   s0   t jtdƒddgd�}|j|k}t ||¡ d S )Núa,b,c
1,2,3
4,5,6r   rl   ©Z	index_col)rQ   Úread_csvr   r&   r+   rA   )r"   Úmir[   rc   rS   r#   r#   r$   Útest_equals_op_multiindexQ  s    

z#TestIndex.test_equals_op_multiindexc                 C   s@   t jtdƒddgd�}|j|jk}t ddg¡}t ||¡ d S )Nr¥  r   rl   r¦  T)rQ   r§  r   r&   r0   r9   r+   rA   )r"   rc   rS   r[   r#   r#   r$   Ú"test_equals_op_multiindex_identify`  s    z,TestIndex.test_equals_op_multiindex_identify©r   r£  )é   é	   rå   c                 C   sR   t jtdƒddgd�}tjtdd�� |j|k W d   ƒ n1 sD0    Y  d S )Nr¥  r   rl   r¦  zLengths must matchr›   )rQ   r§  r   r�   rž   rT  r&   )r"   r&   rc   r#   r#   r$   Ú+test_equals_op_mismatched_multiindex_raisesg  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   r0   r9   r+   rA   )r"   r¨  r&   rS   r[   r#   r#   r$   Ú&test_equals_op_index_vs_mi_same_lengtht  s
    z0TestIndex.test_equals_op_index_vs_mi_same_lengthÚdt_convc                 C   s(   t ddgdd�}|j||ƒjks$J ‚d S )Nz01:02:03z01:02:04r\  r`   rd  )r"   r°  r&   r#   r#   r$   Ú!test_dt_conversion_preserves_name|  s    z+TestIndex.test_dt_conversion_preserves_namec                 C   sD   t g d¢ƒ}tjtdd�� d|_W d   ƒ n1 s60    Y  d S )NrÁ   zCan't set attributer›   F)r   r�   rž   rv  rþ   r6   r#   r#   r$   Ú#test_cached_properties_not_settable‚  s    z-TestIndex.test_cached_properties_not_settablec              	   Ã   s–   t jddd� ddlm} d}| |¡I d H  t d ¡�J |dƒ�" t|j 	dd	¡ƒ W d   ƒ n1 sj0    Y  W d   ƒ n1 sˆ0    Y  d S )
NZIPythonz6.0.0)Z
minversionr   )Úprovisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])r  zidx.rm   )
r�   ZimportorskipZIPython.core.completerr³  Zrun_coder+   r,   r    Z	CompleterZcompletions)r"   Úipr³  Úcoder#   r#   r$   Útest_tab_complete_warning‡  s    
z#TestIndex.test_tab_complete_warningc                 C   sd   t |tƒr| d¡ nJdt|ƒj› d�}tjt|d�� | d¡ W d   ƒ n1 sV0    Y  d S )Nrl   ú'z$' object has no attribute 'contains'r›   )r/   r   ÚcontainsrÏ   Ú__name__r�   rž   rv  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<0    Y  tjtdd��  |jddgd� W d   ƒ n1 sz0    Y  tjtdd�� |jdgd� W d   ƒ n1 s¶0    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)r^   rm   rF   r*   rl   z(ascending must be a single bool value orr›   ÚTrue)Z	ascendingz3ascending must be a list of bool values of length 1Tzascending must be a bool valuerk   r   F)r   r�   rž   Ú	ExceptionZ	sortlevelr+   r:   r?  r#   r#   r$   Útest_sortlevelŸ  s$    *ÿ.,zTestIndex.test_sortlevel)�r¹  Ú
__module__Ú__qualname__r   r   r�   Úfixturer%   r(   ÚmarkÚparametrizer3   r7   r=   rC   r   rQ   r   r   rT   rU   r]   rd   rh   r   r0   rž  rf   r
   rS  rj   ru   Úfilterwarningsr~   r   r€   Úiterr   r   r   rŠ   r   r   r   r�   r–   ÚparamZxfailr¢   r¥   r­   r°   r¹   rÀ   rÇ   rÌ   rÎ   Úint_Zbool_rÑ   rÓ   rÙ   rä   rê   rì   rò   rû   r  r   r  r  r  r  r  r  r  r  r  r   r$  r(  r-  r2  r4  r5  r6  r;  r@  rC  rG  r9   rš   rM  rQ  rV  rZ  r[  r^  rP   r_  rb  rc  re  rj  rq  r‘   r+   rë   râ   rw  r{  r‚  rƒ  r    r†  r‡  r‹  r‘  r“  r”  rB   r0  r˜  r�  r›  Z
datetime64rœ  rŸ  r¢  r©  rª  r®  r¯  rY   Úto_timedeltar±  r²  r   r¶  rº  r½  r#   r#   r#   r$   r   ,   sŽ  


	ûöþþúþ

þþ

ýþ

( ùþûþ

ó
û÷

ÿ


ÿ
þþ
þþ
þ

ö
ö
ö




$ÿ
þþ	
þþ

ýþ	

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

ý
üþ	"  ÿþýþ		"ÿ÷þ&ýþþþþþ	r   c                   @   sv  e Zd ZeZejedœdd„ƒZejg d¢gdgd�dd„ ƒZ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/d0d1ejgƒeg d.¢ƒfeg d2¢d3d4�eg d2¢d3d4�feg d5¢d3d4�eg d2¢d3d4�fg¡d6d7„ ƒƒZd8d9„ Zej d:eejgƒeejd;gƒed;d<ejgƒed=d>ejgƒe d?g¡e d?d@g¡e g dA¢¡e dBd?g¡g¡dCdD„ ƒZdEdF„ Z dGdH„ Z!ej "dI¡dJdK„ ƒZ#dS )LÚTestMixedIntIndexr   c                 C   s   |   g d¢¡S )N©r   r¨   rl   r©   r*   rª   )r   r!   r#   r#   r$   r%   ¿  s    zTestMixedIntIndex.simple_indexrÉ  Z
mixedIndex)ÚparamsÚidsc                 C   s
   t |jƒS r4   )r   rÅ  )r"   rP  r#   r#   r$   r&   Ã  s    zTestMixedIntIndex.indexc                 C   s>   |}t jtdd�� | ¡  W d   ƒ n1 s00    Y  d S ©Nz'>|<' not supportedr›   )r�   rž   rŸ   Úargsort©r"   r%   r&   r#   r#   r$   Útest_argsortÇ  s    zTestMixedIntIndex.test_argsortc                 C   s@   |}t jtdd�� t |¡ W d   ƒ n1 s20    Y  d S rÌ  )r�   rž   rŸ   r0   rÍ  rÎ  r#   r#   r$   Útest_numpy_argsortÌ  s    z$TestMixedIntIndex.test_numpy_argsortc                 C   s–   |}t |ƒ|ddd�}t |ƒ|dd�}||us2J ‚t ||¡ |jdksLJ ‚|jdksZJ ‚td|d�}td|d d	… d�}|| }|jjdks’J ‚d S )
NTZmarior?   Fr½   r*   r  rF   rü   )rÏ   r+   r:   r>   r   r&   )r"   r%   r&   ÚfirstÚsecondÚs1Ús2Zs3r#   r#   r$   Útest_copy_nameÑ  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sNJ ‚|jdks\J ‚t t¡� |jdgd�}W d   ƒ n1 sŠ0    Y  tj||dd� |jdks²J ‚|jdgksÂJ ‚|jdksÐJ ‚|jdgksàJ ‚d S )	Nrl   r*   ZMyNamer`   ZNewNameF)Zcheck_names©r]  )r   r@   r+   r:   r>   r,   r-   r]  )r"   r&   Zindex1Úindex2Zindex3r#   r#   r$   Útest_copy_name2ç  s    ,z!TestMixedIntIndex.test_copy_name2c                 C   s<   t  t¡� |jdgd� W d   ƒ n1 s.0    Y  d S )Nr¨   rÖ  )r+   r,   r-   r@   )r"   r%   r#   r#   r$   Útest_copy_names_deprecatedü  s    z,TestMixedIntIndex.test_copy_names_deprecatedc                 C   sB   t dtjddgdd�}t dtjdgdd�}| ¡ }t ||¡ d S )Nr*   rl   Zmy_indexr`   )r   r0   rf   r=  r+   r:   )r"   rF  r[   rS   r#   r#   r$   Útest_unique_na  s    z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  ¡ |j  ¡ ksJ ‚| ¡ |j ¡ ks0J ‚d S r4   )r#  rB   r"  rÎ  r#   r#   r$   r$    s    z%TestMixedIntIndex.test_logical_compatrh  r"  r#  rN   NÚcategoryzvals,expectedrÁ   )rR  r  ro   rR  r  ro   r–  rp   rq   rr   c                 C   s4   t ||d�}|j|d�}t ||d�}t ||¡ d S )NrM   rg  )r   Údropnar+   r:   )r"   rh  rN   rt   r[   r&   rS   r#   r#   r$   Útest_dropna  s    zTestMixedIntIndex.test_dropnarI  )ry   ú
2011-01-02ú
2011-01-03ry   rÞ  rß  )rJ   ú2 daysú3 daysrJ   rà  rá  )ú2012-02ú2012-04ú2012-05ÚMrX   )râ  rã  rS  rä  c                 C   s   |j |d�}t ||¡ d S rf  )rÜ  r+   r:   )r"   rh  r&   r[   rS   r#   r#   r$   Útest_dropna_dt_like  s    z%TestMixedIntIndex.test_dropna_dt_likec                 C   sJ   d}t jt|d��$ tg d¢ƒjdd� W d   ƒ n1 s<0    Y  d S )Nzinvalid how option: xxxr›   rÁ   r�  rg  )r�   rž   rT  r   rÜ  )r"   r¡   r#   r#   r$   Útest_dropna_invalid_how_raisesA  s    z0TestMixedIntIndex.test_dropna_invalid_how_raisesr&   rl   r*   r¨   r©   rS  ú
2000-01-01)rè  rS  z
2000-01-02z1 dayc                 C   s<   |j du sJ ‚|jdu sJ ‚|jdu s*J ‚|jdu s8J ‚d S )NFrA  r6   r#   r#   r$   Útest_is_monotonic_naF  s    z&TestMixedIntIndex.test_is_monotonic_nac                 C   s8   t g d¢dd�}|ttdƒƒ|d�}dt|ƒv s4J ‚d S )Nr§   r   r`   rF   r  Ú0)r   r    r‘   Úrepr)r"   Zframe_or_seriesr&   rS   r#   r#   r$   Útest_int_name_formatY  s    z&TestMixedIntIndex.test_int_name_formatc                 C   sT   t dd„ tdƒD ƒƒ}d}tjt|d�� t|ƒ W d   ƒ n1 sF0    Y  d S )Nc                 S   s   g | ]}t |ƒ‘qS r#   )rÄ   ro  r#   r#   r$   rÞ   `  r†   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¨   rï  )FFT)r   r0   r9   r+   rA   )r"   rF  rS   r[   r#   r#   r$   Útest_index_with_tuple_boole  s    z,TestMixedIntIndex.test_index_with_tuple_bool)$r¹  r¾  r¿  r   r   r�   rÀ  r%   r&   rÏ  rÐ  rÕ  rØ  rÙ  rÚ  r$  rÁ  rÂ  rP   r0   rf   rÝ  r
   rQ   rS  r   r   ræ  rç  rY   rÇ  ré  rì  rî  rÃ  rð  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   rl   ZL1ZL2rÖ  c                 C   s   t ||ƒ}t ||¡ d S r4   )r   r+   r:   )r"   rg   r]  r[   rS   r#   r#   r$   Ú test_ensure_index_from_sequencesq  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   rl   rÅ   )Úclosedr*   rÆ   rF   Zneitherrm   ZbothrM   )rQ   ZIntervalr   r   rP   r+   r:   )r"   Z	intervalsrS   r[   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   Úuint64rM   )	r0   Ziinforõ  Úmaxr   r    r   r+   r:   )r"   rB   rS   r[   r#   r#   r$   Útest_ensure_index_uint64’  s
    z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g ƒ}tg ƒ}t ||¡ d S r4   )r   r   r+   r:   )r"   rS   r[   r#   r#   r$   Útest_get_combined_indexž  s    z&TestIndexUtils.test_get_combined_index)r¹  r¾  r¿  r�   rÁ  rÂ  r   r   rò  rô  r÷  rø  r#   r#   r#   r$   rñ  p  s$   ý&ýøþ
rñ  Úopname)ÚeqÚneÚleÚltÚgeÚgtÚaddZraddÚsubZrsubÚmulZrmulÚtruedivZrtruedivÚfloordivZ	rfloordivÚpowZrpowÚmodÚdivmodc                 C   s(   d| › d�} t || ƒ}|j| ks$J ‚d S )NÚ__)r{   r¹  )rù  r&   rk  r#   r#   r$   Útest_generated_op_names¤  s    
r	  Úindex_makerc                 C   s<   t jtdd�� | dd� W d   ƒ n1 s.0    Y  d S )Nzunexpected keyword argumentr›   ræ   )r±   )r�   rž   rŸ   )r
  r#   r#   r$   Ú,test_index_subclass_constructor_wrong_kwargsÃ  s    r  rv   c                  C   s  d} t jt| d��, ttjddgtd�ddd� W d   ƒ n1 sD0    Y  t jt| d��, ttjg d	¢d
d�ddd� W d   ƒ n1 sŽ0    Y  t jt| d��" tdddddd� W d   ƒ n1 sÎ0    Y  t jt| d��" t	g d¢ddd� W d   ƒ n1 �s0    Y  d S )Nz[Uu]nexpected keyword argumentr›   r¨   r©   rM   ÚtestT)r>   ZfastpathrÁ   r�  r   r^   r*   r§   )
r�   rž   rŸ   r   r0   r9   rP   r   r   r   )r¡   r#   r#   r$   Útest_deprecated_fastpathÊ  s    ::0r  c                  C   sT   t g d¢ƒ} t t¡�* | d d …d f jdks2J ‚W d   ƒ n1 sF0    Y  d S )N)r   rl   r*   rF   )rm   rl   )r   r+   r,   r-   Úshape)rF  r#   r#   r$   Útest_shape_of_invalid_indexÚ  s    r  c                  C   s¨  d} t  d¡ ddd¡}tjt| d�� t|ƒ W d   ƒ n1 sD0    Y  tjt| d��  t| t j	¡ƒ W d   ƒ n1 s‚0    Y  tjt| d��  t
| t j¡ƒ W d   ƒ n1 sÀ0    Y  tjt| d��  t| t j¡ƒ W d   ƒ n1 sþ0    Y  t| dd¡ƒ}tjt| d�� t|ƒ W d   ƒ n1 �sF0    Y  tdtdƒƒ}tjt| d��& t  ddggd ¡|_W d   ƒ n1 �sš0    Y  d S )Nz Index data must be 1-dimensionalr¬  r*   r›   rm   r   rF   )r0   rÿ   Zreshaper�   rž   rT  r   r   rO   rž  r   r�  r   rõ  r	   r   r‘   r9   r&   )r¡   r<   rc   Zserr#   r#   r$   Útest_validate_1d_inputæ  s     &...(r  zklass, extra_kwargsrG   ÚYc                 C   sJ   | t t dd¡ƒfi |¤Ž}| ttddƒƒfi |¤Ž}tj||dd� d S )NiÐ  iÕ  Trð   )Ú
memoryviewr0   rÿ   r    r‘   r+   r:   )ri   Úextra_kwargsrS   r[   r#   r#   r$   Útest_construct_from_memoryview  s    r  c                  C   sj   t g d¢ƒ} d}tjt|d�� |  dd ¡}W d   ƒ n1 s@0    Y  t g d¢dd�}t ||¡ d S )Nr`  zsIn a future version of pandas all arguments of Index.set_names except for the argument 'names' will be keyword-onlyr›   Zquarterr`   )r   r+   r,   r-   Z	set_namesr:   ©rF  r¡   rS   r[   r#   r#   r$   Ú)test_index_set_names_pos_args_deprecation  s    ÿ*r  c                  C   sn   t g d¢ƒ} d}tjt|d��$ |  d¡ |  d¡}W d   ƒ n1 sH0    Y  t g d¢ƒ}t ||¡ d S )N©rl   r*   rF   rl   zYIn a future version of pandas all arguments of Index.drop_duplicates will be keyword-onlyr›   Úlast)r*   rF   rl   )r   r+   r,   r-   Zdrop_duplicatesr:   r  r#   r#   r$   Ú)test_drop_duplicates_pos_args_deprecation"  s    ÿ
(r  c                  C   sR   t g d¢ƒ} t t¡� |  ¡ }W d   ƒ n1 s40    Y  |dd iksNJ ‚d S )Nr  r>   )r   r+   r,   ÚDeprecationWarningZ_get_attributes_dict)rF  Úattrsr#   r#   r$   Ú#test_get_attributes_dict_deprecated0  s    &r  )<Úcollectionsr   r   Úior   rN  rÂ   Únumpyr0   r�   Zpandas.compatr   Zpandas.errorsr   Zpandas.util._test_decoratorsr   ZpandasrQ   r   r	   r
   r   r   r   r   r   r   r   Zpandas._testingZ_testingr+   Zpandas.core.apir   r   r   r   Zpandas.core.indexes.apir   r   r   r   r   Zpandas.tests.indexes.commonr   r   rÈ  rñ  rÁ  rÂ  r	  Zindex_subclass_makers_generatorr  rÃ  r  r  r  r  r  r  r  r#   r#   r#   r$   Ú<module>   sl   0          84þ




ùþ
