o
    d                     @   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mZmZmZ d dlZd d	lmZmZmZmZmZmZmZmZmZm Z  d dl!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 Z3dd Z4dd Z5e
j/0dde	j6e	j7e	j8gdd Z9e
j/0d e%i ggd!d" e#j:D ei gei ged#d$igd%d& Z;e
j/0d'ej<ej=gd(d) Z>dS )*    )defaultdict)datetime)StringION)IS64)InvalidIndexError)
async_mark)is_any_real_numeric_dtypeis_numeric_dtypeis_object_dtype)
CategoricalIndex	DataFrameDatetimeIndexIntervalIndexPeriodIndex
RangeIndexSeriesTimedeltaIndex
date_rangeperiod_range)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;d<d=gej	
d>eegd?d@ Zej	
d;d<d=gej	
d>ee gdAdB Z!ej	
dCg e"g dDdE dFD gej	
d>ee#ee gdGdH Z$ej	
dIe%g d6dJe%fe%e"g d6dJe%fe%dKdE dFD d6dJe%fe&dLdMe&fe'dLdNgdOdPggg g gdQe'fgdRdS Z(ej	j
dg dTdd	dUdV Z)ej	j
ddej*dWej	j+dXdYdZd[d\d]gdd	d^d_ Z,ej	j
dg d`dd	dadb Z-dcdd Z.ej	
deedfdggeg dhg digdjdk Z/dldm Z0dndo Z1dpdq Z2ej	j
ddgdd	drds Z3dtdu Z4ej	j
dg dvdd	ej	
dwej5ej6gdxdy Z7ej	j
dg dvdd	dzd{ Z8d|d} Z9d~d Z:dd Z;ej	
d;g ddd Z<dd Z=ej	
ddd dd gdd Z>ej	
ddd dd gdd Z?ej	
de@g dg ddddddgdd ZAdd ZBdd ZCej	
dddgdd ZDej	j
dg ddgd	dd ZEej	j
dg ddgd	dd ZFdd ZGdd ZHej	
dg dg digdd ZIej	
dddgdd ZJej	j
dg ddd	dd ZKej	j
dg ddd	ej	
dddgddggdd ZLej	j
dg ddd	dd ZMdd ZNddÄ ZOej	
ddeg dƢfg dǢedLdNgfgddɄ ZPej	
d<g dʢg dˢg d̢gej	
dddfgdfdggddЄ ZQdd҄ ZRej	
d;g dӢddՄ ZSej	
d<g d֢h dףgej	
deg d٢eTg dڢfeg ejTg eUdۍfgdd݄ ZVdd߄ ZWdd ZXej	
dddgej	
deg d٢eg dejdۍgdd ZYdd ZZej	
ddddejgdd Z[ej	
d]g e@e\dۍeTg gdd Z]ej	
d<g dg dg dg deddddgdd Z^ej	j
ddgdd	ej	
dddgdd Z_dd Z`ej	j
dg ddd	d d Zaej	
dg ddd Zbej	
deecdedede'fdd	ged
dd5dgdd Zgej	
ddeg diddgdggfdeg diddgdggfde'fdiddejfdejejfgfgdd Zhdd Zidd Zjej	
deekddfeecdŃdfgdd Zldd Zmdd  Znd!d" Zod#d$ Zpd%d& Zqej	
d'ddgej	
d(g eTg g d)g d*eTg d)eTg d*ed+dd,jred+dd,s gd-d. Ztej	
d(g eTg ejTg ejudۍgd/d0 Zvej	
d1eg ejwfgd2d3 Zxd4d5 Zyd6d7 Zzd8d9 Z{d:d; Z|ej	
d<e'fd=d>geTddgfe'fd=d?geTddgfgd@dA Z}dBdC Z~ej	
de'fg dDeg dEgdFdG ZdHdI Zej	
dJejdKdLgfejdMdNgfgdOdP ZdQdR Ze dSdT ZdUdV ZdWdX ZdS (Y  	TestIndexreturnc                 C   s   |  tdS )Nabcde)
_index_clslistself r"   c/var/www/html/visualizacion-main/env/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   sD   t jtdd |d d d f  W d    d S 1 sw   Y  d S )NMulti-dimensional indexingmatch)pytestraises
ValueErrorr!   r'   r"   r"   r#   test_new_axis9   s   "zTestIndex.test_new_axisc                 C   s   t || d S N)tmassert_contains_allr1   r"   r"   r#   test_constructor_regularA   s   z"TestIndex.test_constructor_regularstringc                 C   s.   t |}t|}t|| t|| d S r3   )nparrayr   r4   r5   assert_index_equalr!   r'   arr	new_indexr"   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copyr?   SOMEBIGLONGSTRINGr   )r8   r9   r   
isinstancer?   r4   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tzr?   )rJ   rK   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objectr4   r:   rC   r   rL   pd	TimedeltarQ   r8   object_r   )r!   rG   r'   resultr"   r"   r#   "test_constructor_from_index_dtlikeV   s   
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rJ   rK   rL   c                 C   s4   t t|}t|| |r|j|jksJ d S d S r3   )r   r   r4   r:   rL   )r!   r'   has_tzrW   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rJ   )r   r   rT   to_datetimer4   r:   )r!   dtsexpectedsrW   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]      rI   dater?   )r   r   r8   randomrandrQ   rS   r?   r4   r:   r   assert_series_equalrT   
infer_freq)r!   r_   r`   dfrW   rJ   r"   r"   r#   'test_constructor_from_frame_series_freq   s   z1TestIndex.test_constructor_from_frame_series_freqc                 C   s2   t jg}t|t jd}t|dd}t|| d S )NrP   float)r8   nanr   float64r4   r:   )r!   datar`   rW   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 r3   )rQ   r   r4   r:   r8   r9   )r!   klassrQ   na_valna_listr`   rW   r"   r"   r#   test_index_ctor_infer_nan_nat   s   	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype      rI      rc   intg?g@      @rl   ABCobjc                 C   s*   t ||d}||j|}t|| d S )Nre   )r   _simple_newrE   r4   r:   )r!   valsrQ   r'   rW   r"   r"   r#   test_constructor_simple_new   s   	z%TestIndex.test_constructor_simple_newattrrE   asi8rq   c           
      C   sR  t ddd}t||}||}|j}|d u}d}|dkr+t||}	t|	| n.|tu rMtj	t
dd |||d W d    n1 sGw   Y  n|||d}	t|	| |dkr|r~tj	t
|d t|| W d    n1 sxw   Y  nt||}	t|	| n|||d	}	t|	| |dkrtt||}	t|	| n0|tu rtj	t
dd |||d W d    n1 sw   Y  n|t||d}	t|	| |dkr|rtj	t
|d tt|| W d    d S 1 sw   Y  d S tt||}	t|	| d S |t||d	}	t|	| d S )
N
2011-01-01rc   rK   z:Cannot use .astype to convert from timezone-naive dtype tor   zunexpected keywordr,   )rL   rP   )r   getattrtz_localizerQ   r   r4   r:   r   r.   r/   	TypeErrorrR   r   )
r!   tz_naive_fixturer   rq   r'   argrQ   errmsgrW   r"   r"   r#    test_constructor_dtypes_datetime   sZ   


$z*TestIndex.test_constructor_dtypes_datetimec                 C   s`   t jddd}|d }|j}t||}|||d}t|| |t||d}t|| d S )NrM   rc   r   rP   )rT   timedelta_range
_with_freqrQ   r   r4   r:   r   )r!   r   rq   r'   rQ   rE   rW   r"   r"   r#   !test_constructor_dtypes_timedelta  s   

z+TestIndex.test_constructor_dtypes_timedeltavaluec                 c       | ]}|V  qd S r3   r"   .0_r"   r"   r#   	<genexpr>      zTestIndex.<genexpr>r"   c                 C   s&   ||}t ||sJ t|rJ d S r3   rC   len)r!   r   rq   emptyr"   r"   r#   test_constructor_empty  s   z TestIndex.test_constructor_emptyzempty,klassr]   c                 c   r   r3   r"   r   r"   r"   r#   r   1  r   rv   )steprw   bluered)levelscodesc                 C   s   t ||sJ t|rJ d S r3   r   )r!   r   rq   r"   r"   r#   test_constructor_empty_special,  s   z(TestIndex.test_constructor_empty_special)r   rn   float32int64int32periodrangerepeats	timedeltatuplesuint64uint32c                 C   s   | d d S )Ni8)viewr1   r"   r"   r#   test_view_with_args:  s   zTestIndex.test_view_with_argscategoricalzgh-25464)reason)marksbool-object
bool-dtyper   c                 C   s   |j tkr&d}tjt|d |d W d    d S 1 sw   Y  d S d}tjt|d |d W d    d S 1 s@w   Y  d S )NzWhen changing to a larger dtyper,   r   z(Cannot change data-type for object array)rQ   boolr.   r/   r0   r   r   r!   r'   r   r"   r"   r#   'test_view_with_args_object_array_raisesO  s   
""z1TestIndex.test_view_with_args_object_array_raises)r   r   r   c                 C   s6   | d}|d d|_| d}|jdksJ d S )Nr   rc   foobar)rR   get_locr?   )r!   r'   castedr"   r"   r#   test_astyped  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_objectt  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_objectx  s   z TestIndex.test_not_equals_objectc                 C   s   t g d}t g d}||sJ |d}||sJ ||r&J |d}||s2J t g d}t g ddd}||rGJ d S )Nr   foo)r   r   r   r   )r   r   F)tupleize_cols)r   	identicalrenamer   )r!   i1i2i3i4r"   r"   r#   test_identical~  s   

zTestIndex.test_identicalc                 C   s.  t td}||sJ ||    sJ |t tdr'J || r0J ||jddr;J ||d d  rFJ |ttdrRJ || s[J | }d|_||siJ ||spJ |t |jrzJ ttdd}t |dd}t |dd}||rJ d S )N
   F)deepbobrv      rA   )	r   r   is_r   rA   r8   r9   r?   rE   )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   rw   rI   TFrP   z$Cannot compare dtypes int64 and boolr,   r   )
r   rS   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 )NrP   Frc      rw   )r8   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)r7   r   r   r   r   rn   r   rQ   c                 C   sH   t jg |d}t|g |jd}|g  |sJ || |s"J d S NrP   )r8   r9   typerQ   r   )r!   r'   rQ   	empty_arrempty_indexr"   r"   r#   test_empty_fancy  s   zTestIndex.test_empty_fancyc                 C   st   t jg t jd}t|g |jd}|g  |sJ d}tjt|d ||  W d    d S 1 s3w   Y  d S )NrP   z=arrays used as indices must be of integer \(or boolean\) typer,   )	r8   r9   float_r   rQ   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   unionr8   appendrR   r4   equalContentsr5   )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 )NrI   c                 S   s   | fS r3   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        c                 S   s   g | ]}||d kfqS )rv   r"   r  r"   r"   r#   r    s    )r4   makeIntIndexmapr   r:   r   from_tuplesr!   r'   rW   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        z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)r   r	  zipr  r4   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   r4   r   r  r:   )r!   r   r'   r`   rW   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d}t j||dd d	d
 d S )N   hhourly)rJ   r?   r   )rQ   r?   c                 S   s   | j S r3   )hourr   r"   r"   r#   r    r  zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>Texact)r4   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      dd t | |D S )Nc                 S      i | ]\}}||qS r"   r"   r   er   r"   r"   r#   
<dictcomp>       &TestIndex.<lambda>.<locals>.<dictcomp>r  rE   r'   r"   r"   r#   r         zTestIndex.<lambda>c                 C   
   t | |S r3   r   r,  r"   r"   r#   r  !     
 c                 C   s8   t g d}td}|||j|}t|| d S )Nr  rI   )r   r4   r  r  rE   r:   )r!   r#  r`   r'   rW   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.  r3   r/  r,  r"   r"   r#   r  /  r0  c                 C   s   t |trd S |jsd S tjt|ddtjd}|jr tg }n%t	|j
r.|j||j
d}nt|tu rA|j
tkrAt||j
d}nt|}||||}t|| d S )Nr   rP   )rC   r   	is_uniquer8   aranger   r   r   r   r	   rQ   _constructorr   rS   r  r4   r:   )r!   r'   r#  requestrngr`   rW   r"   r"   r#   test_map_dictlike+  s   
	

zTestIndex.test_map_dictlike)r          @r  )r   rw   r2  r'   r   r9  r  c                 C   s2   t dtjdg}t g d|}t|| d S )Nr9  r   )rw   rv   r   r   r8   rm   r  r4   r:   )r!   r#  r`   rW   r"   r"   r#   )test_map_with_non_function_missing_valuesK  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      ?rI   rc   c                 S   s   | d S )Nrw   r"   r   r"   r"   r#   r  Y  r  z1TestIndex.test_map_na_exclusion.<locals>.<lambda>ignore)	na_actionrw   r;  r
  r"   r"   r#   test_map_na_exclusionV  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  _  r  z0TestIndex.test_map_defaultdict.<locals>.<lambda>stuffrv   )rA  r@  r@  )r   r   r  r4   r:   )r!   r'   default_dictrW   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sJ d S )Nr   re   r   )r   r   r?   )r!   r?   r`   r   r   rW   r"   r"   r#   test_append_empty_preserve_namee  s   
z)TestIndex.test_append_empty_preserve_namezindex, expected))r7   F)r   Fr   Fr   F)r   T)r   T)r   T)r   Tr   F)rn   T)r   Tc                 C      t ||u sJ d S r3   )r   r!   r'   r`   r"   r"   r#   test_is_numericm     zTestIndex.test_is_numeric))r7   T)r   TrE  rF  )r   F)r   F)r   F)r   FrG  )rn   F)r   Fc                 C   rH  r3   )r
   rI  r"   r"   r#   test_is_object  rK  zTestIndex.test_is_objectc                 C   s   |   d S r3   )_summaryr1   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!   rP  r'   	formattedr`   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 )NrP   NaNr   rv   rw   rI   )r   r   r   rS   rR  rC   rl   r   )r!   r   nulls_fixturer'   rS  	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 r3   )r   rE   )r!   rZ  r$   r'   r"   r"   r#   test_logical_compat  s   "zTestIndex.test_logical_compat)r7   r   r   rn   r   c                 C   sx   t |}|ttdd }||}|ttdttd|  }t|| ||d }|dd  }t|| d S )Nrc   r   r   rv   )r   r   r   dropr4   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    d S 1 sw   Y  d S )N r,   )r.   r/   KeyErrorr^  )r!   r'   rb  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 )Nrc   r   r   r=  errorsr  )r   r   r   tolistr^  r4   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   rv   rw   rI   r   r^  r4   r:   )r!   r'   r`  r`   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   rd  r,   rI   rx   )r   r.   r/   re  r^  r1   r"   r"   r#   .test_drop_by_numeric_label_raises_missing_keys  s   "z8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedrx   r   )rI   rx   rc   c                 C   s*   t g d}|j|dd}t|| d S )Nr   r=  rg  rl  )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   rp  r   )rp  r   r   to_droprp  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   r^  r4   r:   r   r   __repr__r.   r/   re  )	r!   rE   rq  r'   r`   rW   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 platformrw   )r   rC   r   r   r   r.   skipuniquerepeatr^  r4   r:   r!   r'   r`   rW   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 )Nrc      )r   r   rP  r   )r!   r   r'   r"   r"   r#   test_is_monotonic_incomparable  s   
z(TestIndex.test_is_monotonic_incomparable)r   r  quux>   r  r   r  index,expected)quxr  r   r  FFTTrP   c                 C   s   | |}t|| d S r3   )isinr4   rD   )r!   rE   r'   r`   rW   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)
rC   rl   mathisnanr4   rD   r   r  r8   r9   )r!   rW  nulls_fixture2r"   r"   r#   test_isin_nan_common_object3  s*   z%TestIndex.test_isin_nan_common_objectc                 C   s   |}|t ju s|t ju rJdtt|j }tjt|d t	d|g|d W d    n1 s0w   Y  t	dt
jg|d}||g rHJ d S t	d|g|d}|t
jg}t|t
ddg |t jg}t|t
ddg d S )Nz=float\(\) argument must be a string or a (real )?number, not r,         ?rP   FT)rT   NaTNAreprr   __name__r.   r/   r   r   r8   rm   r  r[  r4   rD   r9   )r!   rW  float_numpy_dtyperQ   r   idxresr"   r"   r#   test_isin_nan_common_float64O  s"   z&TestIndex.test_isin_nan_common_float64levelr   r2  )r  r9  rz   rU  c                 C   sZ   |  dd  dg }tg d}t||j||d d|_t||j|dd d S )Nnonexistingr  r  r   )ri  r8   r9   r4   rD   r  r?   )r!   r  r'   rE   r`   r"   r"   r#   test_isin_level_kwargh  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_raisesy  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  rw   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r,   r  )rC   r   r   namesr.   r/   re  r  )r!   r  r'   r   r"   r"   r#   &test_isin_level_kwarg_bad_label_raises~  s   

"z0TestIndex.test_isin_level_kwarg_bad_label_raisesc                 C   s4   t ddg}tddg}||}t|| d S )Nr   r   F)r   r8   r9   r  r4   rD   )r!   r   r'   r`   rW   r"   r"   r#   test_isin_empty  s   
zTestIndex.test_isin_emptyrv   rw   rI   rx   TTTT)r   r  r  r  z
2018-01-01c                 C   s2   t |}||k}tjg dtd}t|| d S )Nr  rP   )r   r8   r9   r   r4   rD   )r!   rE   r'   rW   r`   r"   r"   r#   test_boolean_cmp  s   zTestIndex.test_boolean_cmpz
name,levelr  r   c                 C   s,   |  }|r	||_||}t|| d S r3   )rA   r?   get_level_valuesr4   r:   )r!   r'   r?   r  r`   rW   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   asdfre   rv   r   r?   r1   r"   r"   r#   test_slice_keep_name  s   zTestIndex.test_slice_keep_name)r7   r   r   r   r   r   rn   r   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   rE   r   r   r4   r:   )r!   r  r'   r`   rW   r"   r  r#   test_str_attribute  s   zTestIndex.test_str_attributerc   r   )r   rc  )r  320002010)startendrJ   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,   rw   )r.   r/   AttributeErrorr   rx  r1   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   splitr4   r:   )r!   r  r`   r'   rW   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   
startswithr8   r9   r4   rD   rC   ndarrayr
  r"   r"   r#   test_str_bool_return  s
   zTestIndex.test_str_bool_returnc                 C   sR   t g d}ttd|d}||jjd }ttdddgd}t|| d S )Nr  rx   r:  r   rw   r  r  )r   r   r   r'   r   r  r4   rh   )r!   r'   ra   rW   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   )dirry  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   rw   rI   r   r   r   rv   rI   rw   rP   r   )r   r   r8   rV   r1   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   r8   rf   permutationr4   r  assert_produces_warningRuntimeWarningr  rR   rS   r   r:   )r!   
left_indexright_indexrW   r`   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xxxre   )rv   r   r2  BACT
fill_valuer|   r{   F)
allow_fillr  )r|   r{   r}   )r   r   taker8   r9   r4   r:   rm   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  re   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/   r0   r  r8   r9   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  re   zout of boundsr,   rv   r  )r   r   r.   r/   r   r  r8   r9   r1   r"   r"   r#   test_take_bad_bounds_raises9  s   "z%TestIndex.test_take_bad_bounds_raisesr?   labelsr{   r|   r}   )r}   r|   r{   20130101r   c                 C   s.   t g d}||_||d j|ksJ d S )N)r   rv   rw   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  rQ   r   r8   rV   )r!   r  r'   r"   r"   r#   <test_reindex_preserves_type_if_target_is_empty_list_or_arrayS  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  rQ   r   )r!   r  rQ   r'   r"   r"   r#   :test_reindex_doesnt_preserve_type_if_target_is_empty_indexY  s   zDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_indexc                 C   s8   |}t td}t g |d}||d j|ksJ d S )Nr  rP   r   )r   r   r  rQ   )r!   any_real_numpy_dtyperQ   r'   r  r"   r"   r#   Btest_reindex_doesnt_preserve_type_if_target_is_empty_index_numericd  s   zLTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_index_numericc                 C   sl   t td}|tt g tjt g tjgg g gd }|jd jj	tjks(J |jd jj	tjks4J d S )Nr  r   rv   )
r   r   r  r   r8   r   rn   r   rQ   r   )r!   r'   rW   r"   r"   r#   -test_reindex_no_type_preserve_target_empty_mim  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   re   r  r  )r   r  r4   r:   )r!   r  idx2r`   rW   r   r"   r"   r#   test_reindex_ignoring_levelu  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 )Nrc   )rv   rv   rw   rw   rw   r   rv   )rw   rI   rx   rv   rw   )r   r   groupbyr8   r9   r4   assert_dict_equalr
  r"   r"   r#   test_groupby}  s   zTestIndex.test_groupbyzmi,expectedr  rx   rc   )rx      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)rT   read_csvr   r'   r4   rD   )r!   mir`   rj   rW   r"   r"   r#   test_equals_op_multiindex  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)rT   r  r   r'   r8   r9   r4   rD   )r!   rj   rW   r`   r"   r"   r#   "test_equals_op_multiindex_identify  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,   )rT   r  r   r.   r/   r0   r'   )r!   r'   rj   r"   r"   r#   +test_equals_op_mismatched_multiindex_raises  s   "z5TestIndex.test_equals_op_mismatched_multiindex_raisesc                 C   s@   t g d}tg d}||k}tg d}t|| d S )Nr  r  )FFF)r   r	  r   r8   r9   r4   rD   )r!   r  r'   rW   r`   r"   r"   r#   &test_equals_op_index_vs_mi_same_length  s
   z0TestIndex.test_equals_op_index_vs_mi_same_lengthzdt_conv, arg
2000-01-01
2000-01-02z01:02:03z01:02:04c                 C   s$   t |dd}|j||jksJ d S )Nr  re   r  )r!   dt_convr   r'   r"   r"   r#   !test_dt_conversion_preserves_name  s   	z+TestIndex.test_dt_conversion_preserves_namec                 C   sF   t g d}tjtdd d|_W d    d S 1 sw   Y  d S )Nr   zCan't set attributer,   F)r   r.   r/   r  r3  r1   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.rx   )
r.   importorskipIPython.core.completerr
  run_coder4   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,   )rC   r   containsr   r  r.   r/   r  r   r"   r"   r#   test_contains_method_removed  s   
"z&TestIndex.test_contains_method_removedc                 C   s>  t g d}tjtdd |jdd W d    n1 sw   Y  tjtdd |jddgd W d    n1 s=w   Y  tjtdd |jdgd W d    n1 s[w   Y  t g d	}|jdgd}t|d
 | t g d	}|jdd}t|d
 | t g d}|jdd}t|d
 | d S )N)rc   rx   rI   rw   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	sortlevelr4   r:   ry  r"   r"   r#   test_sortlevel  s*   zTestIndex.test_sortlevel)r  
__module____qualname__r   r   r.   fixturer$   r)   markparametrizer2   r6   r>   rF   r   rT   r   r   rX   rZ   rb   rk   rp   r8   rn   rm   r   r  rt   r   r   r   r   iterr   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"  r1  r8  r   r<  r?  rC  rD  rJ  rL  rN  rT  rY  r]  ra  rf  rk  rm  rn  ro  ru  rz  r  r9   r   r  r  r  r  r  r  rS   r  r  r  r  r  r  r   r4   r  r	  r  r  r  r  r   r  r  r  r  r  r  rE   ri  r  r   r  
datetime64r  r  r  r  r  r  r  r  r  r^   to_timedeltar  r  r   r  r  r  r"   r"   r"   r#   r   -   s   


	




9 	

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

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



	"  		"&		r   c                   @   sn  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ejdddgejddedgejdg dg dfg dg dfddejd gg dfg d!g d!fd"ejd#d$gg d!fgd%d& Zejdddgejd'eg d(eg d(fed)d*d+ejgeg d(feg d,eg d,feejd-d.d/ejgeg d,feg d0d1d2eg d0d1d2feg d3d1d2eg d0d1d2fgd4d5 Zd6d7 Zejd8eejgeejd9ged9d:ejged;d<ejged=ged=d>geg d?ed@d=ggdAdB ZdCdD ZdEdF Z ej!dGdHdI Z"dS )JTestMixedIntIndexr   c                 C   s   |  g dS )Nr   r   rv   r   rw   r   )r   r    r"   r"   r#   r$     r%   zTestMixedIntIndex.simple_indexr(  
mixedIndex)paramsidsc                 C   s
   t |jS r3   )r   r!  )r!   r6  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 r,  )r.   r/   r   r8   r-  r.  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marior@   Fr   rw   r:  rI   r2  )r   r4   r:   r?   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 d S )Nrv   rw   MyNamere   NewNameF)check_names)r   rA   r4   r:   r?   )r!   r'   index1index2r"   r"   r#   test_copy_name2   s   z!TestMixedIntIndex.test_copy_name2c                 C   sB   t dtjddgdd}t dtjdgdd}| }t|| d S )Nrw   rv   my_indexre   )r   r8   rm   rw  r4   r:   )r!   r  r`   rW   r"   r"   r#   test_unique_na-  s   z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  |j  ksJ | |j ksJ d S r3   )r\  rE   r[  r.  r"   r"   r#   r]  3  s   z%TestMixedIntIndex.test_logical_compatr  r[  r\  rQ   Ncategoryzvals,expectedr   )r  r9  rz   r  r9  rz   r  r{   r|   r}   c                 C   s4   t ||d}|j|d}t ||d}t|| d S )NrP   r  )r   dropnar4   r:   )r!   r  rQ   r   r`   r'   rW   r"   r"   r#   test_dropna8  s   zTestMixedIntIndex.test_dropnar  )r   
2011-01-02
2011-01-03r   rC  rD  )rM   2 days3 daysrM   rE  rF  )2012-022012-042012-05Mr]   )rG  rH  r  rI  c                 C   s   |j |d}t|| d S r  )rA  r4   r:   )r!   r  r'   r`   rW   r"   r"   r#   test_dropna_dt_likeK  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/   r0   r   rA  )r!   r   r"   r"   r#   test_dropna_invalid_how_raisesm  s   "z0TestMixedIntIndex.test_dropna_invalid_how_raisesr'   rv   rw   r   r   r  r  )r  r  r  z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{  r1   r"   r"   r#   test_is_monotonic_nar  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   re   rI   r:  0)r   r   r   r  )r!   frame_or_seriesr'   rW   r"   r"   r#   test_int_name_format  s   z&TestMixedIntIndex.test_int_name_formatc                 C   sV   t dd tdD }d}tjt|d t| W d    d S 1 s$w   Y  d S )Nc                 S   s   g | ]}t |qS r"   )r   r  r"   r"   r#   r    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   rT  )FFT)r   r8   r9   r4   rD   )r!   r  rW   r`   r"   r"   r#   test_index_with_tuple_bool  s   z,TestMixedIntIndex.test_index_with_tuple_bool)#r  r  r  r   r   r.   r  r$   r'   r/  r0  r7  r=  r?  r]  r  r  rS   r8   rm   rB  r   rT   r  r   r   rK  rL  r^   r&  rN  rQ  rS  filterwarningsrU  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?   re   r   r   r   r   rv   L1L2)r  c                 C   s   t ||}t|| d S r3   )r   r4   r:   )r!   ro   r  r`   rW   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   )closedrw   r   rI   neitherrx   bothrP   )rT   Intervalr   r   rS   r4   r:   )r!   	intervalsrW   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   r   rP   )	r8   iinfor   maxr   r   r   r4   r:   )r!   rE   rW   r`   r"   r"   r#   test_ensure_index_uint64  s
   z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g }tg }t|| d S r3   )r   r   r4   r:   )r!   rW   r`   r"   r"   r#   test_get_combined_index  s   z&TestIndexUtils.test_get_combined_index)r  r  r  r.   r  r  r   r   rZ  r`  rc  rd  r"   r"   r"   r#   rW    s&    &
rW  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  )re  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  s   "r}  c                  C   s  d} t jt| d ttjddgtdddd W d    n1 s"w   Y  t jt| d ttjg d	d
dddd W d    n1 sGw   Y  t jt| d tdddddd W d    n1 sgw   Y  t jt| d tg dddd W d    d S 1 sw   Y  d S )Nz[Uu]nexpected keyword argumentr,   r   r   rP   testT)r?   fastpathr   r   r   rc   rw   r   )	r.   r/   r   r   r8   r9   rS   r   r   )r   r"   r"   r#   test_deprecated_fastpath  s   "r  c                  C   sP   t g d} tjtdd | d d d f  W d    d S 1 s!w   Y  d S )N)r   rv   rw   rI   r+   r,   )r   r.   r/   r0   )r  r"   r"   r#   test_shape_of_invalid_index  s   "r  rQ   c                 C   s   d}t dddd}tjt|d t|| d W d    n1 s$w   Y  t|dd}tjt|d t|| d W d    n1 sIw   Y  tdt	d}tjt|d t j
ddggd | d|_W d    d S 1 suw   Y  d S )	Nz Index data must be 1-dimensionalr  rw   r,   rP   rx   r   rI   )r8   r4  reshaper.   r/   r0   r   r   r   r   r9   r'   )rQ   r   r<   rj   serr"   r"   r#   test_validate_1d_input  s   "r  zklass, extra_kwargsc                    s   g | ]
  fd di gqS )c                    s   t |  dS r   )r   r   dtypr"   r#   r  (  r  z<listcomp>.<lambda>r"   )r   r"   r  r#   r  (  s    r  rJ   Yc                 C   sJ   | t tddfi |}| ttddfi |}tj||dd d S )Ni  i  Tr   )
memoryviewr8   r4  r   r   r4   r:   )rq   extra_kwargsrW   r`   r"   r"   r#   test_construct_from_memoryview$  s   r  rZ  c                 C   sL   t tjg}tdg}| ||}t|| | || }t|| d S rM  )r   r8   rm   r9   r4   rD   rA   )rZ  r  r`   rW   r"   r"   r#   test_nan_comparison_same_object5  s   
r  )?collectionsr   r   ior   r  operatorr   numpyr8   r.   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsr   pandas.core.dtypes.commonr   r	   r
   pandasrT   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr4   pandas.core.indexes.apir   r   r   r   r   pandas.tests.indexes.commonr   r   r'  rW  r  r  r{  index_subclass_makers_generatorr}  r  r  r   r   rn   r  ALL_REAL_NUMPY_DTYPESr  ri  rk  r  r"   r"   r"   r#   <module>   sr    0         N +4





