o
    i                     @   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
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
j01dg ddd Z2e
j01de3 dd Z4e
j05ddd Z6dd Z7dd Z8e
j01d 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$ Z9d%d& Z:d'd( Z;d)d* Z<e
j01d+ej=ej>g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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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dej.dXej	j/dYdZd[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>dd Z?ej	
d<g ddd Z@dd ZAej	
ddd dd gdd ZBej	
ddd dd gdd ZCej	
deDg dg ddddddgdd ZEdd ZFdd ZGej	
dddgdd ZHej	j
dg ddgd	dd ZIej	j
dg ddgd	dd ZJej	j
dg ddgd	dd ZKdd ZLdd ZMej	
dg dg djgdd ZNej	
dddgdd ZOej	j
dg dwdd	dd ZPej	j
dg dwdd	ej	
dddgddggdd ZQej	j
dg dwdd	dd ZRddĄ ZSddƄ ZTej	
ddeg dɢfg dʢedMdOgfgdd̄ ZUej	
d=g d͢g d΢g dϢgej	
dddggdgdggddӄ ZVddՄ ZWej	
d<g d֢dd؄ ZXddڄ ZYej	
d=g dۢh dܣgej	
deg dޢeZg dߢfeg ejZg e[dfgdd Z\dd Z]dd Z^ej	
dddgej	
deg dޢeg dgdd Z_dd Z`ej	
ddddejgdd Zaej	
d^g eDebdeZg gdd Zcej	
d=g dg dg dg deddddgdd Zdej	j
ddgdd	ej	
dddg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ejk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	
de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dg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d=d> Zej	
d?e+ld@dAgeZddgfe+ld@dBgeZddgfgdCdD ZdEdF Zej	
de+lg dGeg dHgdIdJ ZdKdL Zej	
dMejejgdNdO ZdPdQ Ze dRdS ZdTdU ZdVdW ZdS (X  	TestIndexreturnc                 C   s   |  tdS )Nabcde)
_index_clslistself r#   Y/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/indexes/test_base.pysimple_index0      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_identifiers4   s   z#TestIndex.test_can_hold_identifiersr(   r   T)indirectc                 C   s\   t t |d d d f }W d    n1 sw   Y  |jdks$J t|tjs,J d S N   )tmassert_produces_warningFutureWarningndim
isinstancenpndarray)r"   r(   	new_indexr#   r#   r$   test_new_axis9   s
   zTestIndex.test_new_axisc                 C   s   t || d S N)r.   assert_contains_allr"   r(   r#   r#   r$   test_constructor_regularA   s   z"TestIndex.test_constructor_regularstringc                 C   s.   t |}t|}t|| t|| d S r7   )r3   arrayr   r.   r8   assert_index_equalr"   r(   arrr5   r#   r#   r$   test_constructor_castingD   s   
z"TestIndex.test_constructor_castingc                 C   s^   t |}t|ddd}t|tsJ |jdksJ t||j d|d< |d dks-J d S )NTnamecopyrA   SOMEBIGLONGSTRINGr   )r3   r<   r   r2   rA   r.   assert_numpy_array_equalvaluesr>   r#   r#   r$   test_constructor_copyL   s   
zTestIndex.test_constructor_copycast_as_objFz2015-01-01 10:00D   z
US/EasternzGreen Eggs & Ham)freqperiodstzrA   )rK   rL   1 daysz
2015-01-01c                 C   s   |r
t |t}nt |}t|| t|trC|j|jks!J |rE|tj	dd7 }t |td}|j
tjks9J t|t|ksGJ d S d S d S )N2   )nanosecondsdtype)r   astypeobjectr.   r=   r2   r
   rM   pd	TimedeltarR   r3   object_r    )r"   rH   r(   resultr#   r#   r$   "test_constructor_from_index_dtlikeV   s   
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rK   rL   rM   c                 C   s4   t t|}t|| |r|j|jksJ d S d S r7   )r   r   r.   r=   rM   )r"   r(   has_tzrX   r#   r#   r$   #test_constructor_from_series_dtlikey   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rK   )r
   r   rU   to_datetimer.   r=   )r"   dtsexpectedsrX   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s(J d|_t	|| t
|dd}t|d | t|d }|dksLJ d S )Nr\   r]   r^      rJ   daterA   )r
   r	   r3   randomrandrR   rT   rA   r.   r=   r   assert_series_equalrU   
infer_freq)r"   r`   ra   dfrX   rK   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floatrQ   )r3   nanr   r   r.   r=   )r"   datara   rX   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 r7   )rR   r   r.   r=   r3   r<   )r"   klassrR   na_valna_listra   rX   r#   r#   r$   test_index_ctor_infer_nan_nat   s   	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype   r-   rJ      rd   intg?g@      @rm   ABCobjc                 C   s*   t ||d}||j|}t|| d S )Nrf   )r   _simple_newrF   r.   r=   )r"   valsrR   r(   rX   r#   r#   r$   test_constructor_simple_new   s   	z%TestIndex.test_constructor_simple_new+ignore:Passing keywords other:FutureWarningattrrF   asi8rq   c           	      C   s^  t ddd}t||}||}|j}|d u rd nt}|dkr't||}n|||d}t|| |dkrTt| t|	|}W d    n1 sNw   Y  n|||d}t|| |dkrntt
||}n|t
||d}t|| |dkrt| tt
|	|}W d    n1 sw   Y  n|t
||d}t|| d S )N
2011-01-01rd   rL   r   )rM   rQ   )r   getattrtz_localizerR   r0   r
   r.   r=   r/   rS   r    )	r"   tz_naive_fixturer   rq   r(   argrR   warnrX   r#   r#   r$    test_constructor_dtypes_datetime   s6   	

z*TestIndex.test_constructor_dtypes_datetimec                 C   s`   t jddd}|d }|j}t||}|||d}t|| |t||d}t|| d S )NrN   rd   r   rQ   )rU   timedelta_range
_with_freqrR   r   r.   r=   r    )r"   r   rq   r(   rR   rF   rX   r#   r#   r$   !test_constructor_dtypes_timedelta   s   

z+TestIndex.test_constructor_dtypes_timedeltavaluec                 c       | ]}|V  qd S r7   r#   .0_r#   r#   r$   	<genexpr>      zTestIndex.<genexpr>r#   c                 C   s&   ||}t ||sJ t|rJ d S r7   r2   len)r"   r   rq   emptyr#   r#   r$   test_constructor_empty  s   z TestIndex.test_constructor_emptyzempty,klassr^   c                 c   r   r7   r#   r   r#   r#   r$   r   $  r   rv   )stepr-   bluered)levelscodesc                 C   s   t ||sJ t|rJ d S r7   r   )r"   r   rq   r#   r#   r$   test_constructor_empty_special  s   z(TestIndex.test_constructor_empty_special)	r   rm   rx   periodrangerepeats	timedeltatuplesuintc                 C   s   | d d S )Ni8)viewr9   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 dtypematchr   z(Cannot change data-type for object array)rR   boolpytestraises
ValueErrorr   	TypeError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sJ d S )Nr   rd   foobar)rS   get_locrA   )r"   r(   castedr#   r#   r$   test_astypeT  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_objectd  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_identicalj  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}||rJ d S )N
   F)deepbobrv      rC   )	r   r   is_r   rC   r3   r<   rA   rF   )r"   indind2r?   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rv   r-   rJ   TFrQ   z$Cannot compare dtypes int64 and boolr   r   )
r   rT   r   r   r   asofr   reescapestr)r"   leftrightr   r#   r#   r$    test_asof_numeric_vs_bool_raises  s   "z*TestIndex.test_asof_numeric_vs_bool_raisesc                 C   s   t jt|td}d|ddd< || }t|D ]\}}|||ks%J q|t| }t|D ]\}}|||ks=J q0d S )NrQ   Frd      r-   )r3   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)r;   rx   rm   rR   c                 C   sB   t jg |d}t|g }|g  |sJ || |sJ d S )NrQ   )r3   r<   typer   )r"   r(   rR   	empty_arrempty_indexr#   r#   r$   test_empty_fancy  s   zTestIndex.test_empty_fancyc                 C   sn   t jg t jd}t|g }|g  |sJ d}tjt|d ||  W d    d S 1 s0w   Y  d S )NrQ   z=arrays used as indices must be of integer \(or boolean\) typer   )r3   r<   float_r   r   r   r   
IndexError)r"   r(   
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||s#J t||s+J t|| t|| t|| d S )Nz
2019-01-01r   r   O)r   unionr3   appendrS   r.   equalContentsr8   )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   sn   t d}t ddd }tdd |D }t || |dd }tdd |D }t || d S )NrJ   c                 S   s   | fS r7   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 Nrv   r#   r   r#   r#   r$   r    s    c                 S   s   g | ]}||d kfqS )rv   r#   r  r#   r#   r$   r    s    )r.   makeIntIndexmapr   r=   r   from_tuplesr"   r(   rX   ra   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  r.   r=   r   )r"   first_levelmulti_indexreduced_indexr#   r#   r$   test_map_with_tuples_mi  s   z!TestIndex.test_map_with_tuples_mi)makeDateIndexmakePeriodIndexmakeTimedeltaIndexc                 C   s:   t t|d}tdgd }|dd }t|| d S )Nr   rv   c                 S      dS r  r#   r   r#   r#   r$   r        zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)r   r.   r   r  r=   )r"   r   r(   ra   rX   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   hhourly)rK   rA   rf   c                 S   s   | j S r7   )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   ra   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>      &TestIndex.<lambda>.<locals>.<dictcomp>r  rF   r(   r#   r#   r$   r        zTestIndex.<lambda>c                 C   
   t | |S r7   r   r+  r#   r#   r$   r       
 c                 C   s8   t g d}td}|||j|}t|| d S )Nr  rJ   )r   r.   r  r  rF   r=   )r"   r"  ra   r(   rX   r#   r#   r$   test_map_dictlike_simple  s   	
z"TestIndex.test_map_dictlike_simplec                 C   r#  )Nc                 S   r$  r#   r#   r%  r#   r#   r$   r'    r(  r)  r*  r+  r#   r#   r$   r    r,  c                 C   r-  r7   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 }n1|jr)|j	||j
d}n%t|tu r<|j
tkr<t||j
d}n|j
jdkrJt||j
d}nt|}||||}t|| d S )Nr   rQ   u)r2   r   	is_uniquer3   aranger   r   r   (_is_backward_compat_public_numeric_index_constructorrR   r   rT   kindr  r.   r=   )r"   r(   r"  requestrngra   rX   r#   r#   r$   test_map_dictlike  s    
	
zTestIndex.test_map_dictlike)r          @r  )r   r-   r1  r(   r   r;  r  c                 C   s2   t dtjdg}t g d|}t|| d S )Nr;  r   )r-   rv   r   r   r3   rn   r  r.   r=   )r"   r"  ra   rX   r#   r#   r$   )test_map_with_non_function_missing_values2  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      ?rJ   rd   c                 S   s   | d S r,   r#   r   r#   r#   r$   r  @  r  z1TestIndex.test_map_na_exclusion.<locals>.<lambda>ignore)	na_actionr-   r=  r	  r#   r#   r$   test_map_na_exclusion=  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  F  r  z0TestIndex.test_map_defaultdict.<locals>.<lambda>stuffrv   )rC  rB  rB  )r   r   r  r.   r=   )r"   r(   default_dictrX   ra   r#   r#   r$   test_map_defaultdictD  s   
zTestIndex.test_map_defaultdictzname,expected)r   r   )r  Nc                 C   s8   t g dd}t g d|d}||}|j|ksJ d S )Nr   rf   r   )r   r   rA   )r"   rA   ra   r   r   rX   r#   r#   r$   test_append_empty_preserve_nameL  s   
z)TestIndex.test_append_empty_preserve_namezindex, expected)r;   Fr   Fr   Fr   F)rx   Tr   F)rm   Tc                 C      |  |u sJ d S r7   )
is_numericr"   r(   ra   r#   r#   r$   test_is_numericT     zTestIndex.test_is_numeric))r;   T)r   TrI  rJ  rx   FrK  rm   Fc                 C   rL  r7   )	is_objectrN  r#   r#   r$   test_is_objectd  rP  zTestIndex.test_is_object)rG  rH  rI  rJ  rQ  )r   TrR  c                 C   s>   t t |j|u sJ W d    d S 1 sw   Y  d S r7   )r.   r/   r0   is_all_datesrN  r#   r#   r$   test_is_all_datest  s   "zTestIndex.test_is_all_datesc                 C   s   |   d S r7   )_summaryr9   r#   r#   r$   test_summary  s   zTestIndex.test_summaryc                 C   sR   t  }t|ds!t|g}| }t|d g}||ks!J tg   d S )N000r   )r   nowr   endswithr   format)r"   rZ  r(   	formattedra   r#   r#   r$   test_format_bug  s   
zTestIndex.test_format_bugr   )rv   y       @      @      @c                 C   s   t |}|| t|td}| }t|trdnt|}t|d t|d t|d |g}||ks6J |d |u s>J d S )NrQ   NaNr   rv   r-   rJ   )r    r   r   rT   r\  r2   rm   r   )r"   r   nulls_fixturer(   r]  	null_reprra   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 r7   )r   rF   )r"   rd  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 )Nrd   r   r   rv   )r   r    r   dropr.   r=   )r"   r(   nrh  droppedra   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   KeyErrorrh  )r"   r(   rl  r#   r#   r$   *test_drop_by_str_label_raises_missing_keys     "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 )Nrd   r   r   r?  errorsr  )r   r    r   tolistrh  r.   r=   )r"   r(   ri  rh  mixedrj  ra   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   rv   r-   rJ   r   rh  r.   r=   )r"   r(   rj  ra   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   rn  r   rJ   rw   )r   r   r   ro  rh  r9   r#   r#   r$   .test_drop_by_numeric_label_raises_missing_keys  s   "z8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedrw   r   )rJ   rw   rd   c                 C   s*   t g d}|j|dd}t|| d S )Nr   r?  rr  rw  )r"   r)   ra   r(   rj  r#   r#   r$   (test_drop_by_numeric_label_errors_ignore  s   z2TestIndex.test_drop_by_numeric_label_errors_ignore)r   r   r   r   )r   r{  r   )r{  r   r   to_dropr{  c           	   	   C   s   t |}t dg}||}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 shw   Y  qOd S )Nr   r   rv   z\"\[z\] not found in axis\"r   )
r   rh  r.   r=   r   r   __repr__r   r   ro  )	r"   rF   r|  r(   ra   rX   removed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rtstd | d}|dd  }|	|d }t
|| d S )Nr   z=Cannot test IntervalIndex with int64 dtype on 32 bit platformr-   )r   r2   r   r   r   r   skipuniquerepeatrh  r.   r=   r"   r(   ra   rX   r#   r#   r$   "test_drop_with_duplicates_in_index  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 )Nrd      )r   r   rZ  r   )r"   r   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 s"w   Y  |d dks/J d S )Nr   rv   P   )r3   r<   r.   r/   r0   	set_value)r"   r%   idxr?   r#   r#   r$   test_set_value_deprecated  s   z#TestIndex.test_set_value_deprecated)r   r  quux>   r  r   r  index,expected)quxr  r   r  FFTTrQ   c                 C   s   | |}t|| d S r7   )isinr.   rE   )r"   rF   r(   ra   rX   r#   r#   r$   	test_isin  s   
	zTestIndex.test_isinc                 C   s   t |tr)t |tr)t|r)t|r)ttd|g|gt	ddg d S ||u rBttd|g|gt	ddg d S ttd|g|gt	ddg d S )Nr   FT)
r2   rm   mathisnanr.   rE   r   r  r3   r<   )r"   ra  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 r<d}tjt|d td|g W d    n1 s$w   Y  tdtjg}|	|g
 r:J 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)rU   NaTNAr   r   r   r   r3   rn   r  re  r.   rE   r<   )r"   ra  r   r  resr#   r#   r$   test_isin_nan_common_float64A  s   z&TestIndex.test_isin_nan_common_float64levelr   r1  )r  r;  ry   r_  c                 C   sZ   |  dd  dg }tg d}t||j||d d|_t||j|dd d S )Nnonexistingr  r  r   )rt  r3   r<   r.   rE   r  rA   )r"   r  r(   rF   ra   r#   r#   r$   test_isin_level_kwargV  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   rv   zToo many levelsr   r  )nlevelsr   r   r   r  )r"   r(   r  r#   r#   r$   &test_isin_level_kwarg_bad_level_raisesh  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  r-   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r   r  )r2   r   r   namesr   r   ro  r  )r"   r  r(   r   r#   r#   r$   &test_isin_level_kwarg_bad_label_raisesm  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   r3   r<   r  r.   rE   )r"   r   r(   ra   rX   r#   r#   r$   test_isin_emptyx  s   
zTestIndex.test_isin_emptyrv   r-   rJ   rw   TTTT)r   r  r  r  z
2018-01-01c                 C   s2   t |}||k}tjg dtd}t|| d S )Nr  rQ   )r   r3   r<   r   r.   rE   )r"   rF   r(   rX   ra   r#   r#   r$   test_boolean_cmp  s   zTestIndex.test_boolean_cmpz
name,levelr  r   c                 C   s,   |  }|r	||_||}t|| d S r7   )rC   rA   get_level_valuesr.   r=   )r"   r(   rA   r  ra   rX   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   asdfrf   rv   r   rA   r9   r#   r#   r$   test_slice_keep_name  s   zTestIndex.test_slice_keep_name)r;   r   rx   r   rm   c                 C   s   |j ||d}||u sJ d S Nhow)join)r"   r(   	join_type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 frankc                    s   g | ]	}t t |qS r#   )r   r   r   r   r  r#   r$   r    s    z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   rF   r   r   r.   r=   )r"   r  r(   ra   rX   r#   r  r$   test_str_attribute  s   zTestIndex.test_str_attributerd   r   )r   rm  )r  320002010)startendrK   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   r-   )r   r   AttributeErrorr   r  r9   r#   r#   r$   test_str_attribute_raises  s   
"z#TestIndex.test_str_attribute_raiseszexpand,expectedNr   r&  fc                 C   s>   t g d}|d ur|jj|d}n|j }t|| d S )N)za b czd er  )expand)r   r   splitr.   r=   )r"   r  ra   r(   rX   r#   r#   r$   test_str_split  s
   
zTestIndex.test_str_splitc                 C   sF   t g d}|jd}tg d}t|| t|tjs!J d S )Na1a2b1b2r   )TTFF)	r   r   
startswithr3   r<   r.   rE   r2   r4   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  rw   r<  r   r-   r  r  )r   r   r   r(   r   r  r.   ri   )r"   r(   rb   rX   ra   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sJ |ddg t ddgtjds*J d S )N)rv   r-   rJ   r   r   r   rv   rJ   r-   rQ   r   )r   r   r3   rW   r9   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 s$w   Y  tt |	t
|	t
}W d    n1 sDw   Y  t|| d S )N   r   outerr  )r   r3   rg   permutationr.   r  r/   RuntimeWarningr  rS   rT   r   r=   )r"   
left_indexright_indexrX   ra   r#   r#   r$   test_outer_join_sort  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xxxrf   )rv   r   r1  BACT
fill_valuer{   rz   F)
allow_fillr  )r{   rz   r|   )r   r    taker3   r<   r.   r=   rn   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 s(w   Y  tjt|d |jtg d	dd W d    d S 1 sLw   Y  d S )
Nr  r  rf   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r   )rv   r   r  Tr  )rv   r   )r   r    r   r   r   r  r3   r<   r   r#   r#   r$    test_take_fill_value_none_raises  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  rf   zout of boundsr   rv   r  )r   r    r   r   r   r  r3   r<   r9   r#   r#   r$   test_take_bad_bounds_raises  s   "z%TestIndex.test_take_bad_bounds_raisesrA   labelsrz   r{   r|   )r|   r{   rz   20130101r   c                 C   s.   t g d}||_||d j|ksJ d S )N)r   rv   r-   r   )r   rA   reindex)r"   rA   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  rR   r   r3   rW   )r"   r  r(   r#   r#   r$   <test_reindex_preserves_type_if_target_is_empty_list_or_array9  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  rR   r   )r"   r  rR   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   sd   t td}|ttg tg gg g gd }|jd jjt	j
ks$J |jd jjt	jks0J d S )Nr  r   rv   )r   r    r  r   r   r   r   rR   r   r3   int64float64)r"   r(   rX   r#   r#   r$   -test_reindex_no_type_preserve_target_empty_miL  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   rf   r  r  )r   r  r.   r=   )r"   r  idx2ra   rX   r   r#   r#   r$   test_reindex_ignoring_levelT  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 )Nrd   )rv   rv   r-   r-   r-   r   rv   )r-   rJ   rw   rv   r-   )r   r   groupbyr3   r<   r.   assert_dict_equalr	  r#   r#   r$   test_groupby\  s   zTestIndex.test_groupbyzmi,expectedr  rw   rd   )rw      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   rv   	index_col)rU   read_csvr   r(   r.   rE   )r"   mira   rk   rX   r#   r#   r$   test_equals_op_multiindexc  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   rv   r  T)rU   r  r   r(   r3   r<   r.   rE   )r"   rk   rX   ra   r#   r#   r$   "test_equals_op_multiindex_identifyr  s   z,TestIndex.test_equals_op_multiindex_identifyr  r  )   	   r  c                 C   sT   t jtdddgd}tjtdd |j|k W d    d S 1 s#w   Y  d S )Nr   r   rv   r  zLengths must matchr   )rU   r  r   r   r   r   r(   )r"   r(   rk   r#   r#   r$   +test_equals_op_mismatched_multiindex_raisesy  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   r3   r<   r.   rE   )r"   r  r(   rX   ra   r#   r#   r$   &test_equals_op_index_vs_mi_same_length  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  rf   r  )r"   r  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  r3  r9   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 . |d t|j	dd	 W d    n1 s6w   Y  W d    d S W d    d S 1 sNw   Y  d S )
NIPythonz6.0.0)
minversionr   )provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])r?  zidx.rw   )
r   importorskipIPython.core.completerr  run_coder.   r/   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 )Nrv   'z$' object has no attribute 'contains'r   )r2   r   containsr   __name__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)rd   rw   rJ   r-   rv   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 valueru   r   F)r   r   r   	Exception	sortlevelr.   r=   r  r#   r#   r$   test_sortlevel  s*   zTestIndex.test_sortlevel)r  
__module____qualname__r   r   r   fixturer%   r*   markparametrizer6   r:   r@   rG   r   rU   r   r   rY   r[   rc   rl   rp   r   r3   r  rn   r
   r  rt   r   filterwarningsr   r   r   iterr   r   r   r   r   r   r   r   r   paramxfailr   r   r   r   r   r   r   r   r   int_bool_r   r   r   r
  r  r  r!  r0  r:  r   r>  rA  rE  rF  rO  rT  rV  rX  r^  rc  rg  rk  rp  rv  rx  ry  rz  r  r  r  r  r<   r   r  r  r  r  r  r  rT   r  r  r  r  r  r  r   r.   r  r  r  r  r  r  r    r  r  r  r  r  r  rF   rt  r  r  r  
datetime64r  r  r  r  r  r  r
  r  r_   to_timedeltar  r  r   r  r  r"  r#   r#   r#   r$   r   -   s   


	





( 













	
	
	




$

	

	





	"  		"&	r   c                   @   sv  e Zd ZeZejdef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   rv   r   r-   r   )r   r!   r#   r#   r$   r%     r&   zTestMixedIntIndex.simple_indexr1  
mixedIndex)paramsidsc                 C   s
   t |jS r7   )r   r*  )r"   r8  r#   r#   r$   r(     s   
zTestMixedIntIndex.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_argsort  s   
"zTestMixedIntIndex.test_argsortc                 C   sB   |}t jtdd t| W d    d S 1 sw   Y  d S r5  )r   r   r   r3   r6  r7  r#   r#   r$   test_numpy_argsort  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mariorB   Fr   r-   r<  rJ   r1  )r   r.   r=   rA   r   r(   )r"   r%   r(   firstseconds1s2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s'J |jdks.J tt |jdgd}W d    n1 sEw   Y  tj||dd |jdksYJ |jdgksaJ |jdkshJ |jdgkspJ d S )	Nrv   r-   MyNamerf   NewNameF)check_namesr  )r   rC   r.   r=   rA   r/   r0   r  )r"   r(   index1index2index3r#   r#   r$   test_copy_name2  s   z!TestMixedIntIndex.test_copy_name2c                 C   s>   t t |jdgd W d    d S 1 sw   Y  d S )Nr   rD  )r.   r/   r0   rC   )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-   rv   my_indexrf   )r   r3   rn   r  r.   r=   )r"   r  ra   rX   r#   r#   r$   test_unique_na  s   z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  |j  ksJ | |j ksJ d S r7   )rf  rF   re  r7  r#   r#   r$   rg    s   z%TestMixedIntIndex.test_logical_compatr  re  rf  rR   Ncategoryzvals,expectedr   )r  r;  ry   r  r;  ry   r  rz   r{   r|   c                 C   s4   t ||d}|j|d}t ||d}t|| d S )NrQ   r  )r   dropnar.   r=   )r"   r  rR   r   ra   r(   rX   r#   r#   r$   test_dropna  s   zTestMixedIntIndex.test_dropnar  )r   
2011-01-02
2011-01-03r   rO  rP  )rN   2 days3 daysrN   rQ  rR  )2012-022012-042012-05Mr^   )rS  rT  r  rU  c                 C   s   |j |d}t|| d S r  )rM  r.   r=   )r"   r  r(   ra   rX   r#   r#   r$   test_dropna_dt_like1  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   rM  )r"   r   r#   r#   r$   test_dropna_invalid_how_raisesS  s   "z0TestMixedIntIndex.test_dropna_invalid_how_raisesr(   rv   r-   r   r   r  
2000-01-01)rY  r  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 sJ d S NFr  r9   r#   r#   r$   test_is_monotonic_naX  s   z&TestMixedIntIndex.test_is_monotonic_nac                 C   s8   t g ddd}|ttd|d}dt|v sJ d S )Nr   r   rf   rJ   r<  0)r   r    r   repr)r"   frame_or_seriesr(   rX   r#   r#   r$   test_int_name_formatk  s   z&TestMixedIntIndex.test_int_name_formatc                 C   sV   t dd tdD }d}tjt|d t| W d    d S 1 s$w   Y  d S )Nc                 S   s   g | ]}t |qS r#   )r   r  r#   r#   r$   r  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_raisesp  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   r3   r<   r.   rE   )r"   r  rX   ra   r#   r#   r$   test_index_with_tuple_boolw  s   z,TestMixedIntIndex.test_index_with_tuple_bool)$r  r#  r$  r   r   r   r%  r%   r(   r8  r9  r@  rH  rI  rK  rg  r&  r'  rT   r3   rn   rN  r
   rU   r  r   r   rW  rX  r_   r/  r[  r_  ra  r(  rc  r#   r#   r#   r$   r0    s    











r0  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   NrA   rf   r   r   r   r   rv   L1L2rD  c                 C   s   t ||}t|| d S r7   )r   r.   r=   )r"   ro   r  ra   rX   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   rv   r   )closedr-   r   rJ   neitherrw   bothrQ   )rU   Intervalr   r   rT   r.   r=   )r"   	intervalsrX   ra   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   uint64rQ   )	r3   iinforn  maxr   r    r   r.   r=   )r"   rF   rX   ra   r#   r#   r$   test_ensure_index_uint64  s
   z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g }tg }t|| d S r7   )r   r   r.   r=   )r"   rX   ra   r#   r#   r$   test_get_combined_index  s   z&TestIndexUtils.test_get_combined_index)r  r#  r$  r   r&  r'  r   r   rg  rm  rq  rr  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  )rs  r(   r  r#   r#   r$   test_generated_op_names  s   
r  index_makerc                 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   )r  r#   r#   r$   ,test_index_subclass_constructor_wrong_kwargs  rq  r  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 sw   Y  d S )Nz[Uu]nexpected keyword argumentr   r   r   rQ   testT)rA   fastpathr   r  r   rd   r-   r   )
r   r   r   r   r3   r<   rT   r   r   r   )r   r#   r#   r$   test_deprecated_fastpath  s   "r  c                  C   sV   t g d} tt | d d d f jdksJ W d    d S 1 s$w   Y  d S )N)r   rv   r-   rJ   )rw   rv   )r   r.   r/   r0   shape)r  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 s"w   Y  tjt| d t|t j	 W d    n1 sAw   Y  tjt| d t
|t j W d    n1 s`w   Y  tjt| d t|t j W d    n1 sw   Y  t|dd}tjt| d t| W d    n1 sw   Y  tdtd}tjt| d t ddggd |_W d    d S 1 sw   Y  d S )Nz Index data must be 1-dimensionalr  r-   r   rw   r   rJ   )r3   r4  reshaper   r   r   r   r   rS   r  r   r  r   rn  r	   r   r   r<   r(   )r   r?   rk   serr#   r#   r$   test_validate_1d_input  s,   

"r  zklass, extra_kwargsrK   Yc                 C   sJ   | t tddfi |}| ttddfi |}tj||dd d S )Ni  i  Tr  )
memoryviewr3   r4  r    r   r.   r=   )rq   extra_kwargsrX   ra   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 w   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   quarterrf   )r   r.   r/   r0   	set_namesr=   r  r   rX   ra   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 s$w   Y  t g d}t|| d S )Nrv   r-   rJ   rv   zYIn a future version of pandas all arguments of Index.drop_duplicates will be keyword-onlyr   last)r-   rJ   rv   )r   r.   r/   r0   drop_duplicatesr=   r  r#   r#   r$   )test_drop_duplicates_pos_args_deprecation4  s   
r  c                  C   sR   t g d} tt |  }W d    n1 sw   Y  |dd iks'J d S )Nr  rA   )r   r.   r/   DeprecationWarning_get_attributes_dict)r  attrsr#   r#   r$   #test_get_attributes_dict_deprecatedB  s
   
r  rd  c                 C   sL   t tjg}tdg}| ||}t|| | || }t|| d S rZ  )r   r3   rn   r<   r.   rE   rC   )rd  r  ra   rX   r#   r#   r$   test_nan_comparison_same_objectJ  s   
r  )@collectionsr   r   ior   r  operatorr   numpyr3   r   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsr   pandasrU   r   r	   r
   r   r   r   r   r   r   r   pandas._testing_testingr.   pandas.core.apir   r   r   r   pandas.core.indexes.apir   r   r   r   r   pandas.tests.indexes.commonr   r   r0  rd  r&  r'  r  index_subclass_makers_generatorr  r(  r  r  r  r  r  r  r  rw  ry  r  r#   r#   r#   r$   <module>   st    0         ' 84





