U
    >vf                     @   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dddddddddddddd d!d"d#d$d%d&gd'd( Z1e
j/0d)e#2 d*d+ Z3d,d- Z4d.d/ Z5e
j/0d0de	j6e	j7e	j8gd1d2 Z9e
j/0d3e%i gfd4d5 e#j:D ei gei ged6d7igfd8d9 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edddZdd Zej	j
ddgdd	d
d Zdd Zej	j
ddgdd	dd Zej	j
ddgdd	dd Zej	
dddgej	
deddddddeddddejddddeddddgdd Zej	
d eddddd!dfejdddddfedddddfgd"d# Zd$d% Zd&d' Zd(d) Zej	
d*eejejfed+ejfgd,d- Zej	
d.d/d0dd1d2gd3fd4ejd5d6gd7fd8d9d:ejgd;fgd<d= Zej	
d>d?d@gej	
dAeegdBdC Zej	
d>d?d@gej	
dAee gdDdE Z!ej	
dFg e"g dGdH dID gej	
dAee#ee gdJdK Z$ej	
dLe%g d9dMe%fe%e"g d9dMe%fe%dNdH dID d9dMe%fe&d/dOe&fe'd/d0gdPdQggg g gdRe'fgdSdT Z(ej	j
dddUdVdWdXdYdZd[d\d]d^d_gdd	d`da Z)ej	j
ddej*dbej	j+dcdddedfdgdhgdd	didj Z,ej	j
ddWdXdZgdd	dkdl Z-dmdn Z.ej	
doedpdqgedpdqdrgdpdqdsggdtdu Z/dvdw Z0dxdy Z1dzd{ Z2ej	j
ddgdd	d|d} Z3d~d Z4ej	j
dddWdXd^d_dUdVgdd	ej	
dej5ej6gdd Z7ej	j
dddWdXd^d_dUdVgdd	dd Z8dd Z9dd Z:dd Z;ej	
d>dddgdd Z<dd Z=ej	
ddd dd gdd Z>ej	
ddd dd gdd Z?ej	
de@dddgdd0dgdddddgdd ZAdd ZBdd ZCej	
dddgdd ZDej	j
ddddddddddddgdgd	dd ZEej	j
ddddddddddddgdgd	ddń ZFddǄ ZGddɄ ZHej	
dd/ddgdpdqdsggdd΄ ZIej	
dddgddӄ ZJej	j
dddWdXdUdVgdd	ddՄ ZKej	j
dddWdXdUdVgdd	ej	
dddgddggddڄ ZLej	j
dddWdXdUdVgdd	dd܄ ZMddބ ZNdd ZOej	
dd1ed/d0dgfdd1d2ged/d0gfgdd ZPej	
d?dpdqdgdpddqgddpdqggej	
dddpgdpdggdd ZQdd ZRej	
d>ddddgdd ZSej	
d?dddgdddhgej	
deddddgeTddddgfeg ejTg eUdfgdd ZVdd ZWdd ZXej	
dddgej	
deddddgeddd6dgejdgdd ZYdd ZZej	
d dddejgdd Z[ej	
dhg e@e\deTg gdd Z]ej	
d?d/d0dd1gddd6dgddddgddddgeddd1dgdd	 Z^ej	j
ddgdd	ej	
d
ddgdd Z_dd Z`ej	j
ddddWdXd^d_dUdVgdd	dd Zaej	
ddddgdd Zbej	
deecd2edede'fddgeddd8dgdd  Zgej	
d!d"edpdqdsgdrd#gd$ggfdedpdqdsgdrd#gd$ggfde'fd%dr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ecd1dfgd-d. Zld/d0 Zmd1d2 Znd3d4 Zod5d6 Zpd7d8 Zqej	
d9d"dgej	
d:g eTg d8d9d:gd:d9d8geTd8d9d:geTd:d9d8ged;dd<jred;dd<s gd=d> Ztej	
d:g eTg ejTg ejudgd?d@ Zvej	
dAeg ejwfgdBdC ZxdDdE ZydFdG ZzdHdI Z{dJdK Z|ej	
dLe'fdMdNgeTddgfe'fdMdOgeTddgfgdPdQ Z}dRdS Z~ej	
de'fdMdNdTgedddggdUdV ZdWdX Zej	
dYejdZd[gfejd\d]gfgd^d_ Zd`da Ze dbdc Zddde Zdfdg Zd"S (h  	TestIndexreturnc                 C   s   |  tdS )NZabcde)
_index_clslistself r"   B/tmp/pip-unpacked-wheel-vdrwu74i/pandas/tests/indexes/test_base.pysimple_index0   s    zTestIndex.simple_indexc                 C   s"   |}|d }| |dkstd S )Nr   T)Z$_can_hold_identifiers_and_holds_nameAssertionError)r!   r$   indexkeyr"   r"   r#   test_can_hold_identifiers4   s    z#TestIndex.test_can_hold_identifiersr&   r   T)Zindirectc              	   C   s.   t jtdd |d d d f  W 5 Q R X 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_allr/   r"   r"   r#   test_constructor_regularA   s    z"TestIndex.test_constructor_regularstringc                 C   s.   t |}t|}t|| t|| d S r1   )nparrayr   r2   r3   assert_index_equalr!   r&   arrZ	new_indexr"   r"   r#   test_constructor_castingD   s    
z"TestIndex.test_constructor_castingc                 C   s^   t |}t|ddd}t|ts&t|jdks4tt||j d|d< |d dksZtd S )NTnamecopyr<   ZSOMEBIGLONGSTRINGr   )	r6   r7   r   
isinstancer%   r<   r2   assert_numpy_array_equalvaluesr9   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<   )rF   rG   1 daysz
2015-01-01c                 C   s   |rt |t}nt |}t|| t|tr|j|jksBt|r|t	j
dd7 }t |td}|jtjksrtt|t|kstd S )N2   )Znanosecondsdtype)r   astypeobjectr2   r8   r?   r   rH   r%   pdZ	TimedeltarL   r6   object_r   )r!   rC   r&   resultr"   r"   r#   "test_constructor_from_index_dtlikeV   s    
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rF   rG   rH   c                 C   s0   t t|}t|| |r,|j|jks,td S r1   )r   r   r2   r8   rH   r%   )r!   r&   Zhas_tzrQ   r"   r"   r#   #test_constructor_from_series_dtlikey   s    z-TestIndex.test_constructor_from_series_dtlikec                 C   sD   dddddg}t |dd}tt|}t |dd}t|| d S )N1-1-19902-1-19903-1-19904-1-19905-1-1990MSrF   )r   r   rO   to_datetimer2   r8   )r!   dtsexpectedsrQ   r"   r"   r#   !test_constructor_from_series_freq   s
    z+TestIndex.test_constructor_from_series_freqc                 C   s   dddddg}t |dd}ttjdd	}||d
< t |d
 dd}|d
 jtksVtd
|_t	
|| t|d
d}t	|d
 | t|d
 }|dkstd S )NrT   rU   rV   rW   rX   rY   rZ      rE   dater<   )r   r   r6   randomZrandrL   rN   r%   r<   r2   r8   r   assert_series_equalrO   Z
infer_freq)r!   r\   r]   dfrQ   rF   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 )NrK   float)r6   nanr   float64r2   r8   )r!   datar]   rQ   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tt|}t|| tt|}t|| d S r1   )rL   r%   r   r2   r8   r6   r7   )r!   klassrL   Zna_valZna_listr]   rQ   r"   r"   r#   test_index_ctor_infer_nan_nat   s    	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype         r`   intg?g@      @rg   ABCobjc                 C   s*   t ||d}||j|}t|| d S )Nrb   )r   Z_simple_newrA   r2   r8   )r!   valsrL   r&   rQ   r"   r"   r#   test_constructor_simple_new   s    	z%TestIndex.test_constructor_simple_newattrrA   asi8rl   c           
   	   C   s  t ddd}t||}||}|j}|d k	}d}|dkrVt||}	t|	| nH|tkrtj	t
dd |||d W 5 Q R X n|||d}	t|	| |dkr|rtj	t
|d t|| W 5 Q R X nt||}	t|	| n|||d	}	t|	| |dkr2tt||}	t|	| nN|tkrdtj	t
dd |||d W 5 Q R X n|t||d}	t|	| |dkr|rtj	t
|d tt|| W 5 Q R X ntt||}	t|	| n|t||d	}	t|	| d S )
N
2011-01-01r`   rG   z:Cannot use .astype to convert from timezone-naive dtype torz   zunexpected keywordr*   )rH   rK   )r   getattrZtz_localizerL   r   r2   r8   r   r,   r-   	TypeErrorrM   r   )
r!   Ztz_naive_fixturery   rl   r&   argrL   errmsgrQ   r"   r"   r#    test_constructor_dtypes_datetime   sL    




z*TestIndex.test_constructor_dtypes_datetimec                 C   s`   t jddd}|d }|j}t||}|||d}t|| |t||d}t|| d S )NrI   r`   r|   rK   )rO   timedelta_rangeZ
_with_freqrL   r}   r2   r8   r   )r!   ry   rl   r&   rL   rA   rQ   r"   r"   r#   !test_constructor_dtypes_timedelta  s    

z+TestIndex.test_constructor_dtypes_timedeltavaluec                 c   s   | ]
}|V  qd S r1   r"   .0_r"   r"   r#   	<genexpr>  s     zTestIndex.<genexpr>r"   c                 C   s&   ||}t ||stt|r"td S r1   r?   r%   len)r!   r   rl   emptyr"   r"   r#   test_constructor_empty  s    z TestIndex.test_constructor_emptyzempty,klassrZ   c                 c   s   | ]
}|V  qd S r1   r"   r   r"   r"   r#   r   1  s     )stepZblueZred)levelscodesc                 C   s   t ||stt|rtd S r1   r   )r!   r   rl   r"   r"   r#   test_constructor_empty_special,  s    z(TestIndex.test_constructor_empty_specialri   float32int64int32ZperiodrangeZrepeats	timedeltaZtuplesuint64uint32c                 C   s   | d d S )Ni8)viewr/   r"   r"   r#   test_view_with_args:  s    zTestIndex.test_view_with_argscategoricalzgh-25464)reason)Zmarksbool-object
bool-dtyper   c              	   C   s`   |j tkr4d}tjt|d |d W 5 Q R X n(d}tjt|d |d W 5 Q R X d S )NzWhen changing to a larger dtyper*   r   z(Cannot change data-type for object array)rL   boolr,   r-   r.   r   r~   r!   r&   r   r"   r"   r#   'test_view_with_args_object_array_raisesO  s    
z1TestIndex.test_view_with_args_object_array_raisesc                 C   s6   | d}|d d|_| d}|jdks2td S )Nr   r`   foobar)rM   get_locr<   r%   )r!   r&   Zcastedr"   r"   r#   test_astyped  s
    


zTestIndex.test_astypec                 C   s&   t dddgt dddgs"td S Nabcr   equalsr%   r    r"   r"   r#   test_equals_objectt  s    zTestIndex.test_equals_objectcompr   r   dr   c                 C   s   t dddg|rtd S r   r   )r!   r   r"   r"   r#   test_not_equals_objectx  s    z TestIndex.test_not_equals_objectc                 C   s   t dddg}t dddg}||s*t|d}||sBt||rPt|d}||shtt dddg}t dddgdd	}||rtd S )
Nr   r   r   foor   r   r   r   )r   r   F)Ztupleize_cols)r   	identicalr%   renamer   )r!   i1i2Zi3i4r"   r"   r#   test_identical~  s    

zTestIndex.test_identicalc                 C   s0  t td}||st||    s8t|t tdrNt|| r`t||jddrvt||d d  rt|ttdrt|| st| }d|_||st||st|t |j	rtttdd}t |dd}t |dd}||r,td S )N
   F)deepZbobrn      r>   )
r   r   is_r%   r   r>   r6   r7   r<   rA   )r!   indZind2r:   Zind1r"   r"   r#   test_is_  s$    zTestIndex.test_is_c              	   C   s   t dddg}t ddgtd}d}tjt|d ||d	  W 5 Q R X tjttt	|d || W 5 Q R X tjttt	|d || W 5 Q R X d S )
Nrn   ro   rE   TFrK   z$Cannot compare dtypes int64 and boolr*   r   )
r   rN   r,   r-   r~   Zasofr   reescapestr)r!   leftrightr   r"   r"   r#    test_asof_numeric_vs_bool_raises  s    z*TestIndex.test_asof_numeric_vs_bool_raisesc                 C   s   t jt|td}d|ddd< || }t|D ]\}}|||ks0tq0|t| }t|D ]\}}|||ks`tq`d S )NrK   Fr`      ro   )r6   Zonesr   r   	enumerater   r%   r   )r!   r&   Z
bool_indexZ	sub_indexivalr"   r"   r#   test_booleanindex  s    zTestIndex.test_booleanindexc                 C   s6   |}|dddg }|D ]}||| | kstqd S Nrn   ro   rE   )r   r%   )r!   r$   r&   slr   r"   r"   r#   
test_fancy  s    zTestIndex.test_fancyrL   c                 C   sH   t jg |d}t|g |jd}|g  |s2t|| |sDtd S NrK   )r6   r7   typerL   r   r%   )r!   r&   rL   Z	empty_arrempty_indexr"   r"   r#   test_empty_fancy  s    zTestIndex.test_empty_fancyc              	   C   s^   t jg t jd}t|g |jd}|g  |s4td}tjt	|d ||  W 5 Q R X d S )NrK   z=arrays used as indices must be of integer \(or boolean\) typer*   )
r6   r7   Zfloat_r   rL   r   r%   r,   r-   
IndexError)r!   r&   Z
empty_farrr   r   r"   r"   r#   test_empty_fancy_raises  s    z!TestIndex.test_empty_fancy_raisesc                 C   s~   |}t ddd}||}||}t||d}t||sFtt||sVtt|| t|| t|| d S )Nz
2019-01-01r   r|   O)	r   unionr6   appendrM   r2   ZequalContentsr%   r3   )r!   r$   r&   
date_indexZ	first_catZ
second_catZappendedr"   r"   r#   test_union_dt_as_obj  s    

zTestIndex.test_union_dt_as_objc                 C   sn   t d}t ddd }tdd |D }t || |dd }tdd |D }t || d S )NrE   c                 S   s   | fS r1   r"   xr"   r"   r#   <lambda>      z0TestIndex.test_map_with_tuples.<locals>.<lambda>c                 S   s   g | ]
}|fqS r"   r"   r   r   r"   r"   r#   
<listcomp>  s     z2TestIndex.test_map_with_tuples.<locals>.<listcomp>c                 S   s   | | dkfS Nrn   r"   r   r"   r"   r#   r     r   c                 S   s   g | ]}||d kfqS )rn   r"   r   r"   r"   r#   r     s     )r2   makeIntIndexmapr   r8   r   from_tuplesr!   r&   rQ   r]   r"   r"   r#   test_map_with_tuples  s    
zTestIndex.test_map_with_tuplesc                 C   sB   dddg}t t|dddg}|dd }t|t| d S )	Nr   barbazrn   ro   rE   c                 S   s   | d S Nr   r"   r   r"   r"   r#   r     r   z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)r   r   zipr   r2   r8   r   )r!   Zfirst_levelZmulti_indexZreduced_indexr"   r"   r#   test_map_with_tuples_mi  s    
z!TestIndex.test_map_with_tuples_mimakeDateIndexZmakePeriodIndexZmakeTimedeltaIndexc                 C   s:   t t|d}tdgd }|dd }t|| d S )Nr   rn   c                 S   s   dS r   r"   r   r"   r"   r#   r     r   zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)r}   r2   r   r   r8   )r!   ry   r&   r]   rQ   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   hZhourly)rF   r<   r   )rL   r<   c                 S   s   | j S r1   )hourr   r"   r"   r#   r     r   zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>Texact)r2   r   r   r   r8   r   )r!   r   r]   r"   r"   r#   +test_map_tseries_indices_accsr_return_index  s    z5TestIndex.test_map_tseries_indices_accsr_return_indexmapperc                 C   s   dd t | |D S )Nc                 S   s   i | ]\}}||qS r"   r"   r   er   r"   r"   r#   
<dictcomp>   s      &TestIndex.<lambda>.<locals>.<dictcomp>r   rA   r&   r"   r"   r#   r      r   zTestIndex.<lambda>c                 C   s
   t | |S r1   r   r   r"   r"   r#   r   !  r   c                 C   s:   t dddg}td}|||j|}t|| d S )Nr   r   r   rE   )r   r2   r   r   rA   r8   )r!   r   r]   r&   rQ   r"   r"   r#   test_map_dictlike_simple  s    	
z"TestIndex.test_map_dictlike_simplec                 C   s   dd t | |D S )Nc                 S   s   i | ]\}}||qS r"   r"   r   r"   r"   r#   r   .  s      r   r   r   r"   r"   r#   r   .  r   c                 C   s
   t | |S r1   r   r   r"   r"   r#   r   /  r   c                 C   s   t |trd S |jsd S tjt|ddtjd}|jr@tg }nJt	|j
r\|j||j
d}n.t|tkr|j
tkrt||j
d}nt|}||||}t|| d S )Nr   rK   )r?   r   	is_uniquer6   aranger   r   r   r   r	   rL   Z_constructorr   rN   r   r2   r8   )r!   r&   r   requestrngr]   rQ   r"   r"   r#   test_map_dictlike+  s    	


zTestIndex.test_map_dictliker          @r   r   r   r&   )r   ro   r   c                 C   s4   t dtjdg}t dddg|}t|| d S )Nr  r   ro   rn   r   r   r6   rh   r   r2   r8   )r!   r   r]   rQ   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      ?rE   r`   c                 S   s   | d S )Nro   r"   r   r"   r"   r#   r   Y  r   z1TestIndex.test_map_na_exclusion.<locals>.<lambda>ignore)Z	na_actionro   r  r   r"   r"   r#   test_map_na_exclusionV  s    zTestIndex.test_map_na_exclusionc                 C   sJ   t dddg}tdd }d|d< ||}t dddg}t|| d S )Nrn   ro   rE   c                   S   s   dS )Nblankr"   r"   r"   r"   r#   r   _  r   z0TestIndex.test_map_defaultdict.<locals>.<lambda>stuffr  )r   r   r   r2   r8   )r!   r&   Zdefault_dictrQ   r]   r"   r"   r#   test_map_defaultdict]  s    
zTestIndex.test_map_defaultdictzname,expected)r   r   )r   Nc                 C   s:   t g dd}t dddg|d}||}|j|ks6td S )Nr   rb   rn   ro   rE   )r   r   r<   r%   )r!   r<   r]   r   r   rQ   r"   r"   r#   test_append_empty_preserve_namee  s    
z)TestIndex.test_append_empty_preserve_namezindex, expected)r5   F)r   F)r   F)r   F)r   T)r   T)r   T)r   T)r   F)ri   T)r   Tc                 C   s   t ||kstd S r1   )r   r%   r!   r&   r]   r"   r"   r#   test_is_numericm  s    zTestIndex.test_is_numeric)r5   T)r   T)r   F)r   F)r   F)r   F)ri   F)r   Fc                 C   s   t ||kstd S r1   )r
   r%   r  r"   r"   r#   test_is_object  s    zTestIndex.test_is_objectc                 C   s   |   d S r1   )Z_summaryr/   r"   r"   r#   test_summary  s    zTestIndex.test_summaryc                 C   sR   t  }t|dsBt|g}| }t|d g}||ksBttg   d S )NZ000r   )r   nowr   endswithr   formatr%   )r!   r  r&   	formattedr]   r"   r"   r#   test_format_bug  s    
zTestIndex.test_format_bugrw   y       @      @g      @c                 C   s   t |}|| t|td}| }t|tr4dnt|}t|d t|d t|d |g}||kslt|d |ks|td S )NrK   NaNr   rn   ro   rE   )	r   r   r   rN   r  r?   rg   r   r%   )r!   rw   nulls_fixturer&   r  Z	null_reprr]   r"   r"   r#   test_format_missing  s    
$zTestIndex.test_format_missingopanyallc                 C   s&   |}t || t |j| ks"td S r1   )r}   rA   r%   )r!   r  r$   r&   r"   r"   r#   test_logical_compat  s    zTestIndex.test_logical_compatc                 C   sx   t |}|ttdd }||}|ttdttd|  }t|| ||d }|dd  }t|| d S )Nr`   r   r   rn   )r   r   r   dropr2   r8   )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 5 Q R X d S )N r*   )r,   r-   KeyErrorr  )r!   r&   r  r"   r"   r#   *test_drop_by_str_label_raises_missing_keys  s    z4TestIndex.test_drop_by_str_label_raises_missing_keysc                 C   s   t |}|ttdd }| dg }|j|dd}|ttdttd|  }t|| |jddgdd}|tt| }t|| d S )Nr`   r   r   r  errorsr   )r   r   r   tolistr  r2   r8   )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   s4   t dddg}|d}t ddg}t|| d S r   r   r  r2   r8   )r!   r&   r  r]   r"   r"   r#   test_drop_by_numeric_label_loc  s    
z(TestIndex.test_drop_by_numeric_label_locc              	   C   s:   t dddg}tjtdd |ddg W 5 Q R X d S )Nrn   ro   rE   r!  r*   rp   )r   r,   r-   r"  r  r/   r"   r"   r#   .test_drop_by_numeric_label_raises_missing_keys  s    z8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedc                 C   s,   t dddg}|j|dd}t|| d S )Nrn   ro   rE   r  r$  r)  )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   to_dropc           	   
   C   s   t |}t dg}||}t|| ||d }|d |d gfD ]}||}t|| qH||d }dt|d   d}|d |d gfD ](}tjt	|d || W 5 Q R X qd S )Nr   r   rn   z\"\[z\] not found in axis\"r*   )
r   r  r2   r8   r   r   __repr__r,   r-   r"  )	r!   rA   r-  r&   r]   rQ   removedZdrop_mer   r"   r"   r#   test_drop_tuple  s    


zTestIndex.test_drop_tuplec                 C   sj   t |dkst|trd S t|tr2ts2td | d}|dd  }|	|d }t
|| d S )Nr   z=Cannot test IntervalIndex with int64 dtype on 32 bit platformro   )r   r?   r   r   r   r,   skipuniquerepeatr  r2   r8   r!   r&   r]   rQ   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 td S )Nr`      )r   r   r  r}   r%   )r!   ry   r&   r"   r"   r#   test_is_monotonic_incomparable  s    
z(TestIndex.test_is_monotonic_incomparableZquuxindex,expectedZquxrK   c                 C   s   | |}t|| d S r1   )isinr2   r@   )r!   rA   r&   r]   rQ   r"   r"   r#   	test_isin'  s    	
zTestIndex.test_isinc                 C   s   t |trPt |trPt|rPt|rPttd|g|gt	ddg nV||krttd|g|gt	ddg n&ttd|g|gt	ddg d S )Nr   FT)
r?   rg   mathisnanr2   r@   r   r=  r6   r7   )r!   r  Znulls_fixture2r"   r"   r#   test_isin_nan_common_object3  s*    z%TestIndex.test_isin_nan_common_objectc              	   C   s   |}|t jks|t jkrdtt|j }tjt|d t	d|g|d W 5 Q R X t	dt
jg|d}||g r|t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*         ?rK   FT)rO   NaTZNAreprr   __name__r,   r-   r~   r   r6   rh   r=  r  r%   r2   r@   r7   )r!   r  Zfloat_numpy_dtyperL   r   idxresr"   r"   r#   test_isin_nan_common_float64O  s    z&TestIndex.test_isin_nan_common_float64levelrB  c                 C   s^   |  dd  dg }tddddg}t||j||d d|_t||j|dd d S )NZnonexistingFTrI  r   )r&  r6   r7   r2   r@   r=  r<   )r!   rI  r&   rA   r]   r"   r"   r#   test_isin_level_kwargh  s
    	zTestIndex.test_isin_level_kwargc              
   C   sF   d|j |j d  fD ],}tjtdd |jg |d W 5 Q R X qd S )Nr   rn   zToo many levelsr*   rK  )Znlevelsr,   r-   r   r=  )r!   r&   rI  r"   r"   r#   &test_isin_level_kwarg_bad_level_raisesy  s    z0TestIndex.test_isin_level_kwarg_bad_level_raiseslabelr   Zxyzzyc              	   C   sv   t |tr4|ddg|jdd   }d| d}n|d}d| d}tjt|d |jg |d	 W 5 Q R X d S )
Nr   r   ro   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r*   rK  )r?   r   r   namesr,   r-   r"  r=  )r!   rN  r&   r   r"   r"   r#   &test_isin_level_kwarg_bad_label_raises~  s    

z0TestIndex.test_isin_level_kwarg_bad_label_raisesc                 C   s4   t ddg}tddg}||}t|| d S )Nr   r   F)r   r6   r7   r=  r2   r@   )r!   r   r&   r]   rQ   r"   r"   r#   test_isin_empty  s    
zTestIndex.test_isin_emptyz
2018-01-01c                 C   s6   t |}||k}tjddddgtd}t|| d S )NTrK   )r   r6   r7   r   r2   r@   )r!   rA   r&   rQ   r]   r"   r"   r#   test_boolean_cmp  s    zTestIndex.test_boolean_cmpz
name,levelr   r   c                 C   s,   |  }|r||_||}t|| d S r1   )r>   r<   Zget_level_valuesr2   r8   )r!   r&   r<   rI  r]   rQ   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(td S )Nr   r   Zasdfrb   rn   r   r<   r%   r/   r"   r"   r#   test_slice_keep_name  s    zTestIndex.test_slice_keep_namec                 C   s   |j ||d}||kstd S Nhow)joinr%   )r!   r&   Z	join_typeZjoinedr"   r"   r#   test_join_self  s    zTestIndex.test_join_selfmethodstriprstriplstripc                    sF   t ddddg}t  fdd|jD }t|j  }t|| d S )Nz jackzjill z jesse Zfrankc                    s   g | ]}t t |qS r"   )r}   r   r   r   r[  r"   r#   r     s     z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   rA   r}   r   r2   r8   )r!   r[  r&   r]   rQ   r"   r`  r#   test_str_attribute  s    zTestIndex.test_str_attributer   )r   r   )r   32000Z2010)startendrF   c              	   C   s*   t jtdd |jd W 5 Q R X d S )Nzonly use .str accessorr*   ro   )r,   r-   AttributeErrorr   r3  r/   r"   r"   r#   test_str_attribute_raises  s    
z#TestIndex.test_str_attribute_raiseszexpand,expectedNr   f)r   r   r   c                 C   s@   t dddg}|d k	r&|jj|d}n
|j }t|| d S )Nza b czd erh  )expand)r   r   splitr2   r8   )r!   ri  r]   r&   rQ   r"   r"   r#   test_str_split  s
    
zTestIndex.test_str_splitc                 C   sN   t ddddg}|jd}tddddg}t|| t|tjsJt	d S )Na1a2b1b2r   TF)
r   r   
startswithr6   r7   r2   r@   r?   Zndarrayr%   r   r"   r"   r#   test_str_bool_return  s
    zTestIndex.test_str_bool_returnc                 C   sV   t ddddg}ttd|d}||jjd }ttdddgd}t|| d S )	Nrl  rm  rn  ro  rp   r  r   ro   )r   r   r   r&   r   rp  r2   rd   )r!   r&   r^   rQ   r]   r"   r"   r#   test_str_bool_series_indexing  s
    z'TestIndex.test_str_bool_series_indexingZabcdc                 C   s   dt |k}||kstd S )Nr   )dirr%   r4  r"   r"   r#   test_tab_completion   s    zTestIndex.test_tab_completionc                 C   s`   t ddddddg}|dd t ddgtjds8t|ddg t ddgtjds\td S )	Nrn   ro   rE   r   r   r   rK   r   )r   r   r6   rP   r%   r/   r"   r"   r#   !test_indexing_doesnt_change_class  s    $z+TestIndex.test_indexing_doesnt_change_classc              	   C   sz   t tjd}td}tt |j|dd}W 5 Q R X tt |	t
|	t
}W 5 Q R X t|| d S )N   r   outerrW  )r   r6   rc   Zpermutationr2   r   assert_produces_warningRuntimeWarningrY  rM   rN   r   r8   )r!   Z
left_indexZright_indexrQ   r]   r"   r"   r#   test_outer_join_sort  s    
 zTestIndex.test_outer_join_sortc                 C   s   t tddd}|tdddg}t tddd}t|| |jtdddgdd	}t d
dtjgdd}t|| |jtdddgddd}t d
ddgdd}t|| d S )NABCxxxrb   rn   r   r   ZBACT
fill_valuert   rs   F)Z
allow_fillr~  ru   )r   r   taker6   r7   r2   r8   rh   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dddgd	d
 W 5 Q R X tjt|d  |jtdddgd	d
 W 5 Q R X d S )Nr{  r|  rb   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r*   rn   r   rJ  Tr}  )r   r   r,   r-   r.   r  r6   r7   r   r"   r"   r#    test_take_fill_value_none_raises-  s    $z*TestIndex.test_take_fill_value_none_raisesc              	   C   sB   t tddd}tjtdd |tddg W 5 Q R X d S )Nr{  r|  rb   zout of boundsr*   rn   r  )r   r   r,   r-   r   r  r6   r7   r/   r"   r"   r#   test_take_bad_bounds_raises9  s    z%TestIndex.test_take_bad_bounds_raisesr<   labelsZ20130101r|   c                 C   s0   t dddg}||_||d j|ks,td S )Nr   rn   ro   )r   r<   reindexr%   )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(td S Nabcr   )r   r   r  rL   r   r6   rP   r%   )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&td S r  )r   r   r  rL   r   r%   )r!   r  rL   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s4td S )Nr  rK   r   )r   r   r  rL   r%   )r!   Zany_real_numpy_dtyperL   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sPt
|jd jj	tjksht
d S )Nr  r   rn   )r   r   r  r   r6   r   ri   r   rL   r   r%   )r!   r&   rQ   r"   r"   r#   -test_reindex_no_type_preserve_target_empty_mim  s     z7TestIndex.test_reindex_no_type_preserve_target_empty_mic                 C   s\   t dddgdd}t ddddgdd}t ddddgdd}|j|dd\}}t|| d S )Nrn   ro   rE   r   rb   rp   rK  )r   r  r2   r8   )r!   rF  Zidx2r]   rQ   r   r"   r"   r#   test_reindex_ignoring_levelu  s
    z%TestIndex.test_reindex_ignoring_levelc              	   C   sR   t td}|tdddddg}t ddgt dddgd}t|| d S )Nr`   rn   ro   r   rE   rp   rn   ro   )r   r   groupbyr6   r7   r2   Zassert_dict_equalr   r"   r"   r#   test_groupby}  s    zTestIndex.test_groupbyzmi,expectedr  rp   r`   )rp      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   rn   Z	index_col)rO   read_csvr   r&   r2   r@   )r!   mir]   re   rQ   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   rn   r  T)rO   r  r   r&   r6   r7   r2   r@   )r!   re   rQ   r]   r"   r"   r#   "test_equals_op_multiindex_identify  s    z,TestIndex.test_equals_op_multiindex_identify   	   c              	   C   s>   t jtdddgd}tjtdd |j|k W 5 Q R X d S )Nr  r   rn   r  zLengths must matchr*   )rO   r  r   r,   r-   r.   r&   )r!   r&   re   r"   r"   r#   +test_equals_op_mismatched_multiindex_raises  s    z5TestIndex.test_equals_op_mismatched_multiindex_raisesc                 C   sF   t dddg}tdddg}||k}tdddg}t|| d S )Nr  r  r  r   r   r   F)r   r   r   r6   r7   r2   r@   )r!   r  r&   rQ   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 td S )NrN  rb   rT  )r!   Zdt_convr   r&   r"   r"   r#   !test_dt_conversion_preserves_name  s    	z+TestIndex.test_dt_conversion_preserves_namec              	   C   s2   t dddg}tjtdd d|_W 5 Q R X d S )Nrn   ro   rE   zCan't set attributer*   F)r   r,   r-   rf  r   r/   r"   r"   r#   #test_cached_properties_not_settable  s    z-TestIndex.test_cached_properties_not_settablec              
      sn   t jddd ddlm} d}||I d H  td , |d t|j	dd	 W 5 Q R X W 5 Q R X d S )
NZIPythonz6.0.0)Z
minversionr   )provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])r  zidx.rp   )
r,   ZimportorskipZIPython.core.completerr  Zrun_coder2   rx  r   Z	CompleterZcompletions)r!   ipr  coder"   r"   r#   test_tab_complete_warning  s    
z#TestIndex.test_tab_complete_warningc              	   C   sP   t |tr|d n6dt|j d}tjt|d |d W 5 Q R X d S )Nrn   'z$' object has no attribute 'contains'r*   )r?   r   containsr   rE  r,   r-   rf  r   r"   r"   r#   test_contains_method_removed  s
    
z&TestIndex.test_contains_method_removedc              	   C   s  t dddddg}tjtdd |jdd	 W 5 Q R X tjtd
d |jddgd	 W 5 Q R X tjtdd |jdgd	 W 5 Q R X t dddddg}|jdgd	}t|d | t dddddg}|jdd	}t|d | t dddddg}|jdd	}t|d | d S )Nr`   rp   rE   ro   rn   z(ascending must be a single bool value orr*   True)Z	ascendingz3ascending must be a list of bool values of length 1Tzascending must be a bool valuer   F)r   r,   r-   	ExceptionZ	sortlevelr2   r8   r4  r"   r"   r#   test_sortlevel  s&     zTestIndex.test_sortlevel)rE  
__module____qualname__r   r   r,   fixturer$   r(   markparametrizer0   r4   r;   rB   r   rO   r   r   rR   rS   r_   rf   rk   r6   ri   rh   r   rC  rm   rx   r   r   r   iterr   r   r   r   r   r   r   paramZxfailr   r   r   r   r   r   r   r   r   int_Zbool_r   r   r   r   r   r   r   r   r   r   r  r  r	  r
  r  r  r  r  r  r  r  r#  r(  r*  r+  r,  r0  r5  r;  r7   r   r>  rA  rH  rL  rM  rP  rN   rQ  rR  rS  rU  rZ  ra  r   r2   r   r   rg  rk  rq  rr  r   rt  ru  rz  r  r  r  rA   r&  r  r   r  Z
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                   @   s  e Zd ZeZejedddZejdddddd	g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 ddd!gddd!gfd"d#d$gd"d#d$gfd"d#ejd$gd"d#d$gfd%d&d'gd%d&d'gfd%ejd&d'gd%d&d'gfgd(d) Zejdddgejd*ed+d,d-ged+d,d-gfed+d,d-ejged+d,d-gfed.d/d0ged.d/d0gfeejd.d/d0ejged.d/d0gfed1d2d3gd4d5ed1d2d3gd4d5fed1d2d6d3gd4d5ed1d2d3gd4d5fgd7d8 Zd9d: 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d6ged6d<ged<d6d=ged>d6ggd?d@ ZdAdB ZdCdD Z ej!dEdFdG Z"dS )HTestMixedIntIndexr   c                 C   s   |  ddddddgS )Nr   r   rn   r   ro   r   )r   r    r"   r"   r#   r$     s    zTestMixedIntIndex.simple_indexr   r   rn   r   ro   r   Z
mixedIndex)paramsidsc                 C   s
   t |jS r1   )r   r  )r!   r   r"   r"   r#   r&     s    zTestMixedIntIndex.indexc              	   C   s*   |}t jtdd |  W 5 Q R X d S Nz'>|<' not supportedr*   )r,   r-   r~   argsortr!   r$   r&   r"   r"   r#   test_argsort   s    zTestMixedIntIndex.test_argsortc              	   C   s,   |}t jtdd t| W 5 Q R X d S r  )r,   r-   r~   r6   r  r  r"   r"   r#   test_numpy_argsort  s    z$TestMixedIntIndex.test_numpy_argsortc                 C   s   |}t ||ddd}t ||dd}||k	s2tt|| |jdksLt|jdksZttd|d}td|d d	 d}|| }|jjdkstd S )
NTZmarior=   Fr   ro   r  rE   r   )r   r%   r2   r8   r<   r   r&   )r!   r$   r&   firstseconds1s2Zs3r"   r"   r#   test_copy_name
  s    z TestMixedIntIndex.test_copy_namec                 C   s`   t ddgdd}| }t|| |jdd}tj||dd |jdksNt|jdks\td S )Nrn   ro   ZMyNamerb   ZNewNameF)Zcheck_names)r   r>   r2   r8   r<   r%   )r!   r&   Z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 )Nro   rn   Zmy_indexrb   )r   r6   rh   r2  r2   r8   )r!   rF  r]   rQ   r"   r"   r#   test_unique_na-  s    z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  |j  kst| |j ks0td S r1   )r  rA   r%   r  r  r"   r"   r#   r  3  s    z%TestMixedIntIndex.test_logical_compatrX  r  r  rL   Ncategoryzvals,expectedrE   rB  r  rr   rs   rt   ru   c                 C   s4   t ||d}|j|d}t ||d}t|| d S )NrK   rW  )r   dropnar2   r8   )r!   rX  rL   rw   r]   r&   rQ   r"   r"   r#   test_dropna8  s    zTestMixedIntIndex.test_dropnar<  r{   z
2011-01-02z
2011-01-03rI   z2 daysz3 daysz2012-02z2012-04z2012-05MrZ   rC  c                 C   s   |j |d}t|| d S rV  )r  r2   r8   )r!   rX  r&   r]   rQ   r"   r"   r#   test_dropna_dt_likeK  s    z%TestMixedIntIndex.test_dropna_dt_likec              	   C   s8   d}t jt|d tdddgjdd W 5 Q R X d S )Nzinvalid how option: xxxr*   rn   ro   rE   r|  rW  )r,   r-   r.   r   r  )r!   r   r"   r"   r#   test_dropna_invalid_how_raisesm  s    z0TestMixedIntIndex.test_dropna_invalid_how_raisesr&   r  r  z1 dayc                 C   s<   |j dkst|jdkst|jdks*t|jdks8td S NF)r6  r%   r7  r8  r9  r/   r"   r"   r#   test_is_monotonic_nar  s    z&TestMixedIntIndex.test_is_monotonic_nac                 C   s:   t dddgdd}|ttd|d}dt|ks6td S )	Nr   r   r   r   rb   rE   r  0)r   r   r   rD  r%   )r!   Zframe_or_seriesr&   rQ   r"   r"   r#   test_int_name_format  s    z&TestMixedIntIndex.test_int_name_formatc              	   C   s@   t dd tdD }d}tjt|d t| W 5 Q R X d S )Nc                 S   s   g | ]}t |qS r"   )r   r_  r"   r"   r#   r     s     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   s6   t dddg}|dk}tdddg}t|| d S )Nr   )r   r   )r   r   FT)r   r6   r7   r2   r@   )r!   rF  rQ   r]   r"   r"   r#   test_index_with_tuple_bool  s    z,TestMixedIntIndex.test_index_with_tuple_bool)#rE  r  r  r   r   r,   r  r$   r&   r  r  r  r  r  r  r  r  rN   r6   rh   r  r   rO   rC  r   r   r  r  r[   r  r  r  r  filterwarningsr  r"   r"   r"   r#   r    s   





r  c                   @   s   e Zd Zejddddggdedddgfdddggdgedddg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, expectedrn   ro   rE   Nr<   rb   r   r   r   r   ZL1ZL2)rO  c                 C   s   t ||}t|| d S r1   )r   r2   r8   )r!   rj   rO  r]   rQ   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   rn   r   )closedro   r   rE   Zneitherrp   ZbothrK   )rO   ZIntervalr   r   rN   r2   r8   )r!   Z	intervalsrQ   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*tt|dd}t	|| d S )Nr   r   rK   )
r6   Ziinfor   maxr   r   r%   r   r2   r8   )r!   rA   rQ   r]   r"   r"   r#   test_ensure_index_uint64  s
    z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g }tg }t|| d S r1   )r   r   r2   r8   )r!   rQ   r]   r"   r"   r#   test_get_combined_index  s    z&TestIndexUtils.test_get_combined_index)rE  r  r  r,   r  r  r   r   r  r  r  r  r"   r"   r"   r#   r    s$    &
r  opnameeqneleltgegtaddZraddsubZrsubmulZrmultruedivZrtruedivfloordivZ	rfloordivpowZrpowmoddivmodc                 C   s(   d|  d} t || }|j| ks$td S )N__)r}   rE  r%   )r  r&   r[  r"   r"   r#   test_generated_op_names  s    
r  index_makerc              	   C   s(   t jtdd | dd W 5 Q R X 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 5 Q R X t jt| d$ ttjd	d
dgddddd W 5 Q R X t jt| d tddd
ddd W 5 Q R X t jt| d tdddgddd W 5 Q R X d S )Nz[Uu]nexpected keyword argumentr*   r   r   rK   testT)r<   Zfastpathrn   ro   rE   r   r   r`   r   )	r,   r-   r~   r   r6   r7   rN   r   r   )r   r"   r"   r#   test_deprecated_fastpath  s    &(r  c               	   C   s>   t ddddg} tjtdd | d d d f  W 5 Q R X d S )Nr   rn   ro   rE   r)   r*   )r   r,   r-   r.   )rF  r"   r"   r#   test_shape_of_invalid_index  s    r  rL   c              	   C   s   d}t dddd}tjt|d t|| d W 5 Q R X t|dd}tjt|d t|| d W 5 Q R X tdt	d}tjt|d  t j
ddggd | d|_W 5 Q R X d S )	Nz Index data must be 1-dimensionalr  ro   r*   rK   rp   r   rE   )r6   r   Zreshaper,   r-   r.   r   r   r   r   r7   r&   )rL   r   r:   re   Z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   Zdtypr"   r#   r   (  r   z<listcomp>.<lambda>r"   )r   r"   r  r#   r   (  s     r   rF   Yc                 C   sB   | t tddf|}| ttddf|}tj||dd d S )Ni  i  Tr   )
memoryviewr6   r   r   r   r2   r8   )rl   extra_kwargsrQ   r]   r"   r"   r#   test_construct_from_memoryview$  s    r  r  c                 C   sL   t tjg}tdg}| ||}t|| | || }t|| d S r  )r   r6   rh   r7   r2   r@   r>   )r  rF  r]   rQ   r"   r"   r#   test_nan_comparison_same_object5  s    
r  )?collectionsr   r   ior   r?  operatorr   Znumpyr6   r,   Zpandas.compatr   Zpandas.errorsr   Zpandas.util._test_decoratorsr   Zpandas.core.dtypes.commonr   r	   r
   ZpandasrO   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr2   Zpandas.core.indexes.apir   r   r   r   r   Zpandas.tests.indexes.commonr   r   r  r  r  r  r  Zindex_subclass_makers_generatorr  r  r  r   r   ri   r  ZALL_REAL_NUMPY_DTYPESr  r  r  r  r"   r"   r"   r#   <module>   s   0         N +4





