a
    dM                     @   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) G dd dZ*G dd dZ+G dd dZ,e
j-.dg ddd Z/e
j-.de#0 dd Z1dd Z2dd Z3e
j-.dde	j4e	j5e	j6gdd Z7e
j-.de%i ggd d! e#j8D ei gei ged"d#igd$d% Z9e
j-.d&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_sequencesc                   @   s  e Zd ZejedddZdd Zejj	ddgdd	d
d Z
dd Zejj	ddgdd	dd Zejj	ddgdd	dd Zej	dddgej	deddddddeddddejddddeddddgdd Zej	d eddddd!dfejdddddfedddddfgd"d# Zd$d% Zd&d' Zd(d) Zej	d*eejejfed+ejfgd,d- Zej	d.g d/d0fd1ejd2d3gd4fd5d6d7ejgd8fgd9d: Zej	d;d<d=gej	d>eegd?d@ Zej	d;d<d=gej	d>eegdAdB Z ej	dCg e!g dDdE dFD gej	d>ee"eegdGdH Z#ej	dIe$g ddJe$fe$e!g ddJe$fe$dKdE dFD ddJe$fe%dLdMe%fe&dLdNgdOdPggg g gdQe&fgdRdS Z'ejj	dg dTdd	dUdV Z(ejj	ddej)dWejj*dXdYdZd[d\d]gdd	d^d_ Z+ejj	dg d`dd	dadb Z,dcdd Z-ej	deedfdggeg dhg digdjdk Z.dldm Z/dndo Z0dpdq Z1ejj	ddgdd	drds Z2dtdu Z3ejj	dg dvdd	ej	dwej4ej5gdxdy Z6ejj	dg dvdd	dzd{ Z7d|d} Z8d~d Z9dd Z:ej	d;g ddd Z;dd Z<ej	ddd dd gdd Z=ej	ddd dd gej>d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ф ZQej>dddӄ 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d0d1 Zvej	d2eg ejwfgd3d4 Zxd5d6 Zyd7d8 Zzd9d: 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dAdB Z}dCdD Z~ej	de&fg dEeg dFgdGdH ZdIdJ Zej	dKejdLdMgfejdNdOgfgdPdQ ZdRdS Ze dTdU ZdVdW ZdXdY ZdZd[ Zej	d\dLejddddgfdNejejd]d]d]gfdejejejd^d^gfgd_d` Zej	dadg dbfdLg dcfdNg ddfgdedf ZdS (g  	TestIndexreturnc                 C   s   t tdS )NZabcde)r   listself r    g/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pandas/tests/indexes/test_base.pysimple_index-   s    zTestIndex.simple_indexc                 C   s"   |}|d }| |du sJ d S )Nr   T)Z$_can_hold_identifiers_and_holds_name)r   r"   indexkeyr    r    r!   test_can_hold_identifiers1   s    z#TestIndex.test_can_hold_identifiersr#   r   T)Zindirectc                 C   sB   t jtdd  |d d d f  W d    n1 s40    Y  d S )NMulti-dimensional indexingmatch)pytestraises
ValueErrorr   r#   r    r    r!   test_new_axis6   s    zTestIndex.test_new_axisc                 C   s   t || d S N)tmassert_contains_allr,   r    r    r!   test_constructor_regular>   s    z"TestIndex.test_constructor_regularstringc                 C   s.   t |}t|}t|| t|| d S r.   )nparrayr   r/   r0   assert_index_equalr   r#   arrZ	new_indexr    r    r!   test_constructor_castingA   s    
z"TestIndex.test_constructor_castingc                 C   s^   t |}t|ddd}t|ts&J |jdks4J t||j d|d< |d dksZJ d S )NTnamecopyr9   ZSOMEBIGLONGSTRINGr   )r3   r4   r   
isinstancer9   r/   assert_numpy_array_equalvaluesr6   r    r    r!   test_constructor_copyI   s    
zTestIndex.test_constructor_copycast_as_objFz2015-01-01 10:00D   z
US/EasternzGreen Eggs & Ham)freqperiodstzr9   )rC   rD   1 daysz
2015-01-01c                 C   s   |rt |t}nt |}t|| t|tr|j|jksBJ |r|tj	dd7 }t |td}|j
tjksrJ t|t|ksJ d S )N2   )nanosecondsdtype)r   astypeobjectr/   r5   r<   r   rE   pdZ	TimedeltarJ   r3   object_r   )r   r@   r#   resultr    r    r!   "test_constructor_from_index_dtlikeS   s    
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rC   rD   rE   c                 C   s0   t t|}t|| |r,|j|jks,J d S r.   )r   r   r/   r5   rE   )r   r#   Zhas_tzrO   r    r    r!   #test_constructor_from_series_dtlikev   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rC   )r   r   rM   to_datetimer/   r5   )r   dtsexpectedsrO   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sTJ d|_t	|| t
|dd}t|d | t|d }|dksJ d S )NrR   rS   rT      )   rB   dater9   )r   r   r3   randomdefault_rngrJ   rL   r9   r/   r5   r   assert_series_equalrM   Z
infer_freq)r   rV   rW   dfrO   rC   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 )NrI   float)r3   nanr   float64r/   r5   )r   datarW   rO   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 r.   )rJ   r   r/   r5   r3   r4   )r   klassrJ   Zna_valZna_listrW   rO   r    r    r!   test_index_ctor_infer_nan_nat   s    	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype   rZ   rB      r[   intg?g@      @rc   ABCobjc                 C   s*   t ||d}||j|}t|| d S )Nr]   )r   Z_simple_newr>   r/   r5   )r   valsrJ   r#   rO   r    r    r!   test_constructor_simple_new   s    	z%TestIndex.test_constructor_simple_newattrr>   asi8rh   c           
      C   sT  t ddd}t||}||}|j}|d u}d}|dkrVt||}	t|	| n\|tu rtj	t
dd |||d W d    q1 s0    Y  n|||d}	t|	| |dkr|rtj	t
|d t|| W d    n1 s0    Y  nt||}	t|	| n|||d	}	t|	| |dkr\tt||}	t|	| nd|tu rtj	t
dd |||d W d    n1 s0    Y  n|t||d}	t|	| |dkr4|rtj	t
|d" tt|| W d    n1 s0    Y  ntt||}	t|	| n|t||d	}	t|	| d S )
N
2011-01-01r[   rD   z:Cannot use .astype to convert from timezone-naive dtype torv   zunexpected keywordr'   )rE   rI   )r   getattrZtz_localizerJ   r   r/   r5   r   r)   r*   	TypeErrorrK   r   )
r   Ztz_naive_fixtureru   rh   r#   argrJ   errmsgrO   r    r    r!    test_constructor_dtypes_datetime   sL    

,
.

.
4z*TestIndex.test_constructor_dtypes_datetimec                 C   s`   t jddd}|d }|j}t||}|||d}t|| |t||d}t|| d S )NrF   r[   rx   rI   )rM   timedelta_rangeZ
_with_freqrJ   ry   r/   r5   r   )r   ru   rh   r#   rJ   r>   rO   r    r    r!   !test_constructor_dtypes_timedelta  s    

z+TestIndex.test_constructor_dtypes_timedeltavaluec                 c   s   | ]
}|V  qd S r.   r    .0_r    r    r!   	<genexpr>      zTestIndex.<genexpr>r    c                 C   s&   ||}t ||sJ t|r"J d S r.   r<   len)r   r   rh   emptyr    r    r!   test_constructor_empty  s    z TestIndex.test_constructor_emptyzempty,klassrT   c                 c   s   | ]
}|V  qd S r.   r    r   r    r    r!   r   .  r   rk   )steprZ   ZblueZred)levelscodesc                 C   s   t ||sJ t|rJ d S r.   r   )r   r   rh   r    r    r!   test_constructor_empty_special)  s    z(TestIndex.test_constructor_empty_special)r   re   float32int64int32ZperiodrangeZrepeats	timedeltaZtuplesuint64uint32c                 C   s   | d d S )Ni8)viewr,   r    r    r!   test_view_with_args7  s    zTestIndex.test_view_with_argscategoricalzgh-25464)reason)Zmarksbool-object
bool-dtyper   c                 C   s   |j tkrHd}tjt|d |d W d    q1 s<0    Y  n<d}tjt|d |d W d    n1 sz0    Y  d S )NzWhen changing to a larger dtyper'   r   z(Cannot change data-type for object array)rJ   boolr)   r*   r+   r   rz   r   r#   r}   r    r    r!   'test_view_with_args_object_array_raisesL  s    
*z1TestIndex.test_view_with_args_object_array_raises)r   r   r   c                 C   s6   | d}|d d|_| d}|jdks2J d S )Nr   r[   foobar)rK   get_locr9   )r   r#   Zcastedr    r    r!   test_astypea  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_objectq  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_objectu  s    z TestIndex.test_not_equals_objectc                 C   s   t g d}t g d}||s&J |d}||s>J ||rLJ |d}||sdJ t g d}t g ddd}||rJ d S )Nr   foo)r   r   r   r   )r   r   F)Ztupleize_cols)r   	identicalrenamer   )r   i1i2Zi3i4r    r    r!   test_identical{  s    

zTestIndex.test_identicalc                 C   s0  t td}||sJ ||    s8J |t tdrNJ || r`J ||jddrvJ ||d d  rJ |ttdrJ || sJ | }d|_||sJ ||sJ |t |jrJ ttdd}t |dd}t |dd}||r,J d S )N
   F)deepZbobrk      r;   )	r   r   is_r   r;   r3   r4   r9   r>   )r   indZind2r7   Z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 sR0    Y  tjttt	|d || W d    n1 s0    Y  tjttt	|d || W d    n1 s0    Y  d S )Nrk   rZ   rB   TFrI   z$Cannot compare dtypes int64 and boolr'   r   )
r   rL   r)   r*   rz   Zasofr   reescapestr)r   leftrightr}   r    r    r!    test_asof_numeric_vs_bool_raises  s    ,(z*TestIndex.test_asof_numeric_vs_bool_raisesc                 C   s   t jt|td}d|ddd< || }t|D ]\}}|||ks0J q0|t| }t|D ]\}}|||ks`J q`d S )NrI   Fr[      rZ   )r3   Zonesr   r   	enumerater   r   )r   r#   Z
bool_indexZ	sub_indexivalr    r    r!   test_booleanindex  s    zTestIndex.test_booleanindexc                 C   s4   |}|g d }|D ]}||| | ksJ qd S )Nr   )r   )r   r"   r#   slr   r    r    r!   
test_fancy  s    zTestIndex.test_fancy)r2   r   r   r   r   re   r   rJ   c                 C   sH   t jg |d}t|g |jd}|g  |s2J || |sDJ d S NrI   )r3   r4   typerJ   r   )r   r#   rJ   Z	empty_arrempty_indexr    r    r!   test_empty_fancy  s    zTestIndex.test_empty_fancyc                 C   sr   t jg t jd}t|g |jd}|g  |s4J d}tjt|d ||  W d    n1 sd0    Y  d S )NrI   z=arrays used as indices must be of integer \(or boolean\) typer'   )	r3   r4   re   r   rJ   r   r)   r*   
IndexError)r   r#   Z
empty_farrr   r}   r    r    r!   test_empty_fancy_raises  s    z!TestIndex.test_empty_fancy_raisesc                 C   s~   |}t ddd}||}||}t||d}t||sFJ t||sVJ t|| t|| t|| d S )Nz
2019-01-01r   rx   O)r   unionr3   appendrK   r/   ZequalContentsr0   )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 )NrB   c                 S   s   | fS r.   r    xr    r    r!   <lambda>  r   z0TestIndex.test_map_with_tuples.<locals>.<lambda>c                 S   s   g | ]
}|fqS r    r    r   r   r    r    r!   
<listcomp>  r   z2TestIndex.test_map_with_tuples.<locals>.<listcomp>c                 S   s   | | dkfS Nrk   r    r   r    r    r!   r      r   c                 S   s   g | ]}||d kfqS )rk   r    r   r    r    r!   r     r   )r/   makeIntIndexmapr   r5   r   from_tuplesr   r#   rO   rW   r    r    r!   test_map_with_tuples  s    
zTestIndex.test_map_with_tuplesc                 C   s>   g d}t t|g d}|dd }t|t| d S )Nr   barbazr   c                 S   s   | d S Nr   r    r   r    r    r!   r   	  r   z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)r   r   zipr   r/   r5   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   rk   c                 S   s   dS r   r    r   r    r    r!   r     r   zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)ry   r/   r   r   r5   )r   ru   r#   rW   rO   r    r    r!   %test_map_tseries_indices_return_index  s    z/TestIndex.test_map_tseries_indices_return_indexc                 C   sH   t jdddd}|dd }ttjddddd	}t j||d
d d S )N   hZhourly)rC   r9   c                 S   s   | j S r.   )hourr   r    r    r!   r     r   zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>r   rI   r]   Texact)r/   r   r   r   r3   aranger5   )r   r   rO   rW   r    r    r!   +test_map_tseries_indices_accsr_return_index  s    z5TestIndex.test_map_tseries_indices_accsr_return_indexmapperc                 C   s   dd t | |D S )Nc                 S   s   i | ]\}}||qS r    r    r   er   r    r    r!   
<dictcomp>  r   &TestIndex.<lambda>.<locals>.<dictcomp>r   r>   r#   r    r    r!   r     r   zTestIndex.<lambda>c                 C   s
   t | |S r.   r   r   r    r    r!   r     r   c                 C   s8   t g d}td}|||j|}t|| d S )Nr   rB   )r   r/   r   r   r>   r5   )r   r   rW   r#   rO   r    r    r!   test_map_dictlike_simple  s    	
z"TestIndex.test_map_dictlike_simplec                 C   s   dd t | |D S )Nc                 S   s   i | ]\}}||qS r    r    r   r    r    r!   r   ,  r   r   r   r   r    r    r!   r   ,  r   c                 C   s
   t | |S r.   r   r   r    r    r!   r   -  r   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 C   s   t |trtd n|js&td tjt|ddtjd}|j	rNt
g }nJt|jrj|j||jd}n.t|t
u r|jtkrt
||jd}nt
|}||||}t|| d S )NzTested in test_categoricalzCannot map duplicated indexr   rI   )r<   r   r)   skip	is_uniquer3   r   r   r   r   r   r	   rJ   Z_constructorr   rL   r   r/   r5   )r   r#   r   requestrngrW   rO   r    r    r!   test_map_dictlike)  s    




zTestIndex.test_map_dictlike)r          @r   )r   rZ   r   r#   r   r   r   c                 C   s2   t dtjdg}t g d|}t|| d S )Nr   r   )rZ   rk   r   r   r3   rd   r   r/   r5   )r   r   rW   rO   r    r    r!   )test_map_with_non_function_missing_valuesH  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      ?rB   r[   c                 S   s   | d S )NrZ   r    r   r    r    r!   r   V  r   z1TestIndex.test_map_na_exclusion.<locals>.<lambda>ignore)Z	na_actionrZ   r  r   r    r    r!   test_map_na_exclusionS  s    zTestIndex.test_map_na_exclusionc                 C   sF   t g d}tdd }d|d< ||}t g d}t|| d S )Nr   c                   S   s   dS )Nblankr    r    r    r    r!   r   \  r   z0TestIndex.test_map_defaultdict.<locals>.<lambda>stuffrk   )r  r  r  )r   r   r   r/   r5   )r   r#   Zdefault_dictrO   rW   r    r    r!   test_map_defaultdictZ  s    
zTestIndex.test_map_defaultdictzname,expected)r   r   )r   Nc                 C   sj   t g dd}t g d|d}d}tjt|d ||}W d    n1 sN0    Y  |j|ksfJ d S )Nr   r]   r   zDThe behavior of array concatenation with empty entries is deprecatedr'   )r   r/   assert_produces_warningFutureWarningr   r9   )r   r9   rW   r   r   r}   rO   r    r    r!   test_append_empty_preserve_nameb  s    (z)TestIndex.test_append_empty_preserve_namezindex, expected))r2   F)r   Fr   Fr   F)r   T)r   T)r   T)r   Tr   F)re   T)r   Tc                 C   s   t ||u sJ d S r.   )r   r   r#   rW   r    r    r!   test_is_numericl  s    zTestIndex.test_is_numeric))r2   T)r   Tr  r  )r   F)r   F)r   F)r   Fr  )re   F)r   Fc                 C   s   t ||u sJ d S r.   )r
   r  r    r    r!   test_is_object  s    zTestIndex.test_is_objectc                 C   s   |   d S r.   )Z_summaryr,   r    r    r!   test_summary  s    zTestIndex.test_summaryc                 C   sR   t  }t|dsBt|g}| }t|d g}||ksBJ tg   d S )NZ000r   )r   nowr   endswithr   format)r   r  r#   	formattedrW   r    r    r!   test_format_bug  s    
zTestIndex.test_format_bugrs   )rk   y       @      @      @c                 C   s   t |}|| t|td}| }t|tr4dnt|}t|d t|d t|d |g}||kslJ |d |u s|J d S )NrI   NaNr   rk   rZ   rB   )r   r   r   rL   r  r<   rc   r   )r   rs   nulls_fixturer#   r  Z	null_reprrW   r    r    r!   test_format_missing  s    
$zTestIndex.test_format_missingopanyallc                 C   sN   |}t || }|t |j| ks&J t | | }t|t|ksJJ d S r.   )ry   r>   Z	to_seriesr   )r   r  r"   r#   r   r   r    r    r!   test_logical_compat  s
    zTestIndex.test_logical_compat)r2   r   r   re   r   c                 C   sx   t |}|ttdd }||}|ttdttd|  }t|| ||d }|dd  }t|| d S )Nr[   r   r   rk   )r   r   r   dropr/   r5   )r   r#   nr   droppedrW   r    r    r!   test_drop_by_str_label  s    
z TestIndex.test_drop_by_str_labelkeysr   1c                 C   s<   t jtdd || W d    n1 s.0    Y  d S )N r'   )r)   r*   KeyErrorr   )r   r#   r$  r    r    r!   *test_drop_by_str_label_raises_missing_keys  s    z4TestIndex.test_drop_by_str_label_raises_missing_keysc                 C   s   t |}|ttdd }| dg }|j|dd}|ttdttd|  }t|| |jddgdd}|tt| }t|| d S )Nr[   r   r   r  errorsr   )r   r   r   tolistr   r/   r5   )r   r#   r!  r   mixedr"  rW   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   rk   rZ   rB   r   r   r/   r5   )r   r#   r"  rW   r    r    r!   test_drop_by_numeric_label_loc  s    
z(TestIndex.test_drop_by_numeric_label_locc                 C   sL   t g d}tjtdd |ddg W d    n1 s>0    Y  d S )Nr   r&  r'   rB   rl   )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,expectedrl   r   )rB   rl   r[   c                 C   s*   t g d}|j|dd}t|| d S )Nr   r  r)  r.  )r   r$   rW   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   r2  r   )r2  r   r   to_dropr2  c           	   	   C   s   t |}t dg}||}t|| ||d }|d |d gfD ]}||}t|| qH||d }dt|d   d}|d |d gfD ]<}tjt	|d || W d    q1 s0    Y  qd S )Nr   r   rk   z\"\[z\] not found in axis\"r'   )
r   r   r/   r5   r   r   __repr__r)   r*   r'  )	r   r>   r3  r#   rW   rO   removedZdrop_mer}   r    r    r!   test_drop_tuple  s    


zTestIndex.test_drop_tuplec                 C   sp   t |dkst|tr td t|tr8ts8td | d}|dd  }|	|d }t
|| d S )Nr   z,Test doesn't make sense for empty MultiIndexz=Cannot test IntervalIndex with int64 dtype on 32 bit platformrZ   )r   r<   r   r)   r   r   r   uniquerepeatr   r/   r5   r   r#   rW   rO   r    r    r!   "test_drop_with_duplicates_in_index  s    

z,TestIndex.test_drop_with_duplicates_in_indexZis_monotonic_increasingZis_monotonic_decreasingZ!_is_strictly_monotonic_increasingZ!_is_strictly_monotonic_decreasingc                 C   s$   t dt dg}t||r J d S )Nr[      )r   r   r  ry   )r   ru   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   FFTTrI   c                 C   s   | |}t|| d S r.   )isinr/   r=   )r   r>   r#   rW   rO   r    r    r!   	test_isin,  s    	
zTestIndex.test_isinc                 C   s   t |trPt |trPt|rPt|rPttd|g|gt	ddg nV||u rttd|g|gt	ddg n&ttd|g|gt	ddg d S )Nr   FT)
r<   rc   mathisnanr/   r=   r   rB  r3   r4   )r   r  Znulls_fixture2r    r    r!   test_isin_nan_common_object8  s*    z%TestIndex.test_isin_nan_common_objectc                 C   s   |}|t ju s|t ju rdtt|j }tjt|d  t	d|g|d W d    n1 s`0    Y  t	dt
jg|d}||g rJ 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'         ?rI   FT)rM   NaTZNAreprr   __name__r)   r*   rz   r   r3   rd   rB  r  r/   r=   r4   )r   r  Zfloat_numpy_dtyperJ   r}   idxresr    r    r!   test_isin_nan_common_float64T  s     .z&TestIndex.test_isin_nan_common_float64levelr   r   )rG  r   rn   r  c                 C   sZ   |  dd  dg }tg d}t||j||d d|_t||j|dd d S )NZnonexistingrA  rN  r   )r+  r3   r4   r/   r=   rB  r9   )r   rN  r#   r>   rW   r    r    r!   test_isin_level_kwargm  s
    	zTestIndex.test_isin_level_kwargc              	   C   sZ   d|j |j d  fD ]@}tjtdd |jg |d W d    q1 sJ0    Y  qd S )Nr   rk   zToo many levelsr'   rP  )Znlevelsr)   r*   r   rB  )r   r#   rN  r    r    r!   &test_isin_level_kwarg_bad_level_raises~  s    z0TestIndex.test_isin_level_kwarg_bad_level_raiseslabelrG  r   Zxyzzyc                 C   s   t |tr4|ddg|jdd   }d| d}n|d}d| d}tjt|d |jg |d	 W d    n1 s|0    Y  d S )
Nr   r   rZ   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r'   rP  )r<   r   r   namesr)   r*   r'  rB  )r   rS  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   r3   r4   rB  r/   r=   )r   r   r#   rW   rO   r    r    r!   test_isin_empty  s    
zTestIndex.test_isin_emptyrk   rZ   rB   rl   TTTT)r   r   r   r@  z
2018-01-01c                 C   s2   t |}||k}tjg dtd}t|| d S )NrX  rI   )r   r3   r4   r   r/   r=   )r   r>   r#   rO   rW   r    r    r!   test_boolean_cmp  s    zTestIndex.test_boolean_cmpz
name,levelr   r   c                 C   s,   |  }|r||_||}t|| d S r.   )r;   r9   Zget_level_valuesr/   r5   )r   r#   r9   rN  rW   rO   r    r    r!   test_get_level_values  s
    
zTestIndex.test_get_level_valuesc                 C   s,   t ddgdd}|j|dd  jks(J d S )Nr   r   Zasdfr]   rk   r   r9   r,   r    r    r!   test_slice_keep_name  s    zTestIndex.test_slice_keep_name)r2   r   r   r   r   r   re   r   c                 C   s   |j ||d}||u sJ d S Nhow)join)r   r#   Z	join_typeZjoinedr    r    r!   test_join_self  s    zTestIndex.test_join_selfmethod)striprstriplstripc                    sB   t g d}t  fdd|jD }t|j  }t|| d S )N)z jackzjill z jesse Zfrankc                    s   g | ]}t t |qS r    )ry   r   r   r   rb  r    r!   r     r   z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   r>   ry   r   r/   r5   )r   rb  r#   rW   rO   r    rg  r!   test_str_attribute  s    zTestIndex.test_str_attributer[   r   )r   r%  )r   32000Z2010)startendrC   c                 C   s>   t jtdd |jd W d    n1 s00    Y  d S )Nzonly use .str accessorr'   rZ   )r)   r*   AttributeErrorr   r8  r,   r    r    r!   test_str_attribute_raises  s    
z#TestIndex.test_str_attribute_raiseszexpand,expectedNr   r   fc                 C   s>   t g d}|d ur$|jj|d}n
|j }t|| d S )N)za b czd ero  )expand)r   r   splitr/   r5   )r   rp  rW   r#   rO   r    r    r!   test_str_split  s
    
zTestIndex.test_str_splitc                 C   sF   t g d}|jd}tg d}t|| t|tjsBJ d S )Na1a2b1b2r   )TTFF)	r   r   
startswithr3   r4   r/   r=   r<   Z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 )Nrs  rl   r  r   rZ   rt  ru  )r   r   r   r#   r   rx  r/   r`   )r   r#   rX   rO   rW   r    r    r!   test_str_bool_series_indexing  s
    z'TestIndex.test_str_bool_series_indexingZabcdc                 C   s   dt |v }||ksJ d S )Nr   )dirr9  r    r    r!   test_tab_completion  s    zTestIndex.test_tab_completionc                 C   sX   t g d}|dd t ddgtjds0J |ddg t ddgtjdsTJ d S )N)rk   rZ   rB   r   r   r   rk   rB   rZ   rI   r   )r   r   r3   rN   r,   r    r    r!   !test_indexing_doesnt_change_class  s    $z+TestIndex.test_indexing_doesnt_change_classc                 C   s   t tjdd}td}tt |j	|dd}W d    n1 sN0    Y  tt& |
t|
t}W d    n1 s0    Y  t|| d S )NrZ      r   outerr^  )r   r3   r^   r_   Zpermutationr/   r   r	  RuntimeWarningr`  rK   rL   r   r5   )r   Z
left_indexZright_indexrO   rW   r    r    r!   test_outer_join_sort  s    
,4zTestIndex.test_outer_join_sortc                 C   s   t tddd}|tg d}t tddd}t|| |jtg ddd}t dd	tjgdd}t|| |jtg dd
dd}t g ddd}t|| d S )NABCxxxr]   )rk   r   r   ZBACT
fill_valuerp   ro   F)Z
allow_fillr  )rp   ro   rq   )r   r   taker3   r4   r/   r5   rd   r   r    r    r!   test_take_fill_value!  s    zTestIndex.test_take_fill_valuec                 C   s   t tddd}d}tjt|d( |jtg ddd W d    n1 sP0    Y  tjt|d( |jtg d	dd W d    n1 s0    Y  d S )
Nr  r  r]   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r'   )rk   r   rO  Tr  )rk   r   )r   r   r)   r*   r+   r  r3   r4   r   r    r    r!    test_take_fill_value_none_raises2  s    6z*TestIndex.test_take_fill_value_none_raisesc                 C   sV   t tddd}tjtdd$ |tddg W d    n1 sH0    Y  d S )Nr  r  r]   zout of boundsr'   rk   r  )r   r   r)   r*   r   r  r3   r4   r,   r    r    r!   test_take_bad_bounds_raises>  s    z%TestIndex.test_take_bad_bounds_raisesr9   labelsro   rp   rq   )rq   rp   ro   Z20130101rx   c                 C   s.   t g d}||_||d j|ks*J d S )N)r   rk   rZ   r   )r   r9   reindex)r   r9   r  r#   r    r    r!   8test_reindex_preserves_name_if_target_is_list_or_ndarrayC  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  rJ   r   r3   rN   )r   r  r#   r    r    r!   <test_reindex_preserves_type_if_target_is_empty_list_or_arrayX  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  rJ   r   )r   r  rJ   r#   r    r    r!   :test_reindex_doesnt_preserve_type_if_target_is_empty_index^  s    zDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_indexc                 C   s8   |}t td}t g |d}||d j|ks4J d S )Nr  rI   r   )r   r   r  rJ   )r   Zany_real_numpy_dtyperJ   r#   r  r    r    r!   Btest_reindex_doesnt_preserve_type_if_target_is_empty_index_numerici  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sPJ |jd jj	tjkshJ d S )Nr  r   rk   )
r   r   r  r   r3   r   re   r   rJ   r   )r   r#   rO   r    r    r!   -test_reindex_no_type_preserve_target_empty_mir  s     z7TestIndex.test_reindex_no_type_preserve_target_empty_mic                 C   sR   t g ddd}t g ddd}t g ddd}|j|dd\}}t|| d S )Nr   r   r]   rW  rP  )r   r  r/   r5   )r   rK  Zidx2rW   rO   r   r    r    r!   test_reindex_ignoring_levelz  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 )Nr[   )rk   rk   rZ   rZ   rZ   r   rk   )rZ   rB   rl   rk   rZ   )r   r   groupbyr3   r4   r/   Zassert_dict_equalr   r    r    r!   test_groupby  s    zTestIndex.test_groupbyzmi,expectedr  rl   r[   )rl      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   rk   Z	index_col)rM   read_csvr   r#   r/   r=   )r   mirW   ra   rO   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   rk   r  T)rM   r  r   r#   r3   r4   r/   r=   )r   ra   rO   rW   r    r    r!   "test_equals_op_multiindex_identify  s    z,TestIndex.test_equals_op_multiindex_identifyr  r  )   	   r   c                 C   sR   t jtdddgd}tjtdd |j|k W d    n1 sD0    Y  d S )Nr  r   rk   r  zLengths must matchr'   )rM   r  r   r)   r*   r+   r#   )r   r#   ra   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   r3   r4   r/   r=   )r   r  r#   rO   rW   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 )NrS  r]   r[  )r   Zdt_convr{   r#   r    r    r!   !test_dt_conversion_preserves_name  s    	z+TestIndex.test_dt_conversion_preserves_namec                 C   sD   t g d}tjtdd d|_W d    n1 s60    Y  d S )Nr   zCan't set attributer'   F)r   r)   r*   rm  r   r,   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jd ddJ |d	" t|j	d
d W d    n1 sn0    Y  W d    n1 s0    Y  d S )NZIPythonz6.0.0)Z
minversionr   )provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])F)Zraise_on_extra_warningsr  zidx.rl   )
r)   ZimportorskipZIPython.core.completerr  Zrun_coder/   r	  r   Z	CompleterZcompletions)r   ipr  coder    r    r!   test_tab_complete_warning  s    
z#TestIndex.test_tab_complete_warningc                 C   sd   t |tr|d nJdt|j d}tjt|d |d W d    n1 sV0    Y  d S )Nrk   'z$' object has no attribute 'contains'r'   )r<   r   containsr   rJ  r)   r*   rm  r   r    r    r!   test_contains_method_removed  s
    
z&TestIndex.test_contains_method_removedc                 C   s>  t g d}tjtdd |jdd W d    n1 s<0    Y  tjtdd  |jddgd W d    n1 sz0    Y  tjtdd |jdgd W d    n1 s0    Y  t g d	}|jdgd}t|d
 | t g d	}|jdd}t|d
 | t g d}|jdd}t|d
 | d S )N)r[   rl   rB   rZ   rk   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 valuerj   r   F)r   r)   r*   	Exception	sortlevelr/   r5   r9  r    r    r!   test_sortlevel  s$    *.,zTestIndex.test_sortlevelc                 C   s<   t dtjg}|jddd }t tjdg}t|| d S )Nrk   first)Zna_positionr   )r   r3   rd   r  r/   r5   r   rK  rO   rW   r    r    r!   test_sortlevel_na_position  s    z$TestIndex.test_sortlevel_na_positionzperiods, expected_results   r   c                 C   s.   t g d}||}t |}t|| d S )N)r   r  r   (   rG   )r   diffr/   r5   )r   rD   expected_resultsrK  rO   rW   r    r    r!   test_index_diff  s    

zTestIndex.test_index_diffzdecimals, expected_resultsrG  r   rn   )g333333?gffffff@g      @)gGz?g@gGz@c                 C   s.   t g d}||}t |}t|| d S )N)gX9v?g(\@gS@)r   roundr/   r5   )r   Zdecimalsr  rK  rO   rW   r    r    r!   test_index_round  s    

zTestIndex.test_index_round)rJ  
__module____qualname__r)   fixturer   r"   r%   markparametrizer-   r1   r8   r?   r   rM   r   r   rP   rQ   rY   rb   rg   r3   re   rd   r   rH  ri   rt   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   filterwarningsr   r   r  r  r  r  r  r  r  r  r  r  r#  r(  r-  r/  r0  r1  r6  r:  r=  r4   r   rC  rF  rM  rQ  rR  rU  rL   rV  rY  rZ  r\  ra  rh  r   r/   r   r   rn  rr  ry  rz  r   r|  r}  r  r  r  r  r>   r+  r  r   r  Z
datetime64r  r  r  r  r  r  r  r  r  rU   to_timedeltar  r  r   r  r  r  r  r  r  r    r    r    r!   r   ,   s  


	




9 	




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

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



	"  		"&		r   c                   @   sL  e Zd Zeje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 d+d,d-eg d+d,d-feg d.d,d-eg d+d,d-fgd/d0 Zd1d2 Zejd3eejgeejd4ged4d5ejged6d7ejged8ged8d9geg d:ed;d8ggd<d= Zd>d? Zd@dA ZejdBdCdD Z dS )ETestMixedIntIndexr   c                 C   s   t g dS )N)r   r   rk   r   rZ   r   r   r   r    r    r!   r"   "  s    zTestMixedIntIndex.simple_indexc                 C   s>   |}t jtdd |  W d    n1 s00    Y  d S Nz'>|<' not supportedr'   )r)   r*   rz   argsortr   r"   r#   r    r    r!   test_argsort&  s    zTestMixedIntIndex.test_argsortc                 C   s@   |}t jtdd t| W d    n1 s20    Y  d S r  )r)   r*   rz   r3   r  r  r    r    r!   test_numpy_argsort+  s    z$TestMixedIntIndex.test_numpy_argsortc                 C   s   |}t ||ddd}t ||dd}||us2J t|| |jdksLJ |jdksZJ td|d}td|d d	 d}|| }|jjdksJ d S )
NTZmarior:   Fr   rZ   r  rB   r   )r   r/   r5   r9   r   r#   )r   r"   r#   r  seconds1s2Zs3r    r    r!   test_copy_name0  s    z TestMixedIntIndex.test_copy_namec                 C   s`   t ddgdd}| }t|| |jdd}tj||dd |jdksNJ |jdks\J d S )Nrk   rZ   ZMyNamer]   ZNewNameF)Zcheck_names)r   r;   r/   r5   r9   )r   r#   Zindex1index2r    r    r!   test_copy_name2F  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 )NrZ   rk   Zmy_indexr]   )r   r3   rd   r7  r/   r5   )r   rK  rW   rO   r    r    r!   test_unique_naS  s    z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  |j  ksJ | |j ks0J d S r.   )r  r>   r  r  r    r    r!   r  Y  s    z%TestMixedIntIndex.test_logical_compatr_  r  r  rJ   Ncategoryzvals,expectedr   r  rG  r   rn   r  ro   rp   rq   c                 C   s4   t ||d}|j|d}t ||d}t|| d S )NrI   r^  )r   dropnar/   r5   )r   r_  rJ   rs   rW   r#   rO   r    r    r!   test_dropna^  s    zTestMixedIntIndex.test_dropnar?  )rw   
2011-01-02
2011-01-03rw   r  r  )rF   2 days3 daysrF   r  r  )2012-022012-042012-05MrT   )r  r  rH  r  c                 C   s   |j |d}t|| d S r]  )r  r/   r5   )r   r_  r#   rW   rO   r    r    r!   test_dropna_dt_likeq  s    z%TestMixedIntIndex.test_dropna_dt_likec                 C   sJ   d}t jt|d$ tg djdd W d    n1 s<0    Y  d S )Nzinvalid how option: xxxr'   r   r  r^  )r)   r*   r+   r   r  )r   r}   r    r    r!   test_dropna_invalid_how_raises  s    z0TestMixedIntIndex.test_dropna_invalid_how_raisesr#   rk   rZ   r   r   rH  r  )r  rH  r  z1 dayc                 C   s<   |j du sJ |jdu sJ |jdu s*J |jdu s8J d S NFr;  r,   r    r    r!   test_is_monotonic_na  s    z&TestMixedIntIndex.test_is_monotonic_nac                 C   s8   t g ddd}|ttd|d}dt|v s4J d S )Nr   r   r]   rB   r  0)r   r   r   rI  )r   Zframe_or_seriesr#   rO   r    r    r!   test_int_name_format  s    z&TestMixedIntIndex.test_int_name_formatc                 C   sT   t dd tdD }d}tjt|d t| W d    n1 sF0    Y  d S )Nc                 S   s   g | ]}t |qS r    )r   rf  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*   rz   bytesr   r    r    r!   test_str_to_bytes_raises  s    z*TestMixedIntIndex.test_str_to_bytes_raisesz2ignore:elementwise comparison failed:FutureWarningc                 C   s2   t g d}|dk}tg d}t|| d S )N)r   )r   r   r   r   r  )FFT)r   r3   r4   r/   r=   r  r    r    r!   test_index_with_tuple_bool  s    z,TestMixedIntIndex.test_index_with_tuple_bool)!rJ  r  r  r)   r  r   r"   r  r  r  r  r  r  r  r  rL   r3   rd   r  r   rM   rH  r   r   r  r  rU   r  r  r  r  r  r  r    r    r    r!   r    s|   










r  c                   @   s   e Zd Zejdg dgdeg dfg dgdgeg dddfddgddggdedgddggd	d	gd	d
ggfddgddggddgedgddggd	d	gd	d
ggddgdfgdd Zdd Z	dd Z
dd ZdS )TestIndexUtilszdata, names, expectedr   Nr9   r]   r   r   r   r   rk   ZL1ZL2)rT  c                 C   s   t ||}t|| d S r.   )r   r/   r5   )r   rf   rT  rW   rO   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   rk   r   )closedrZ   r   rB   Zneitherrl   ZbothrI   )rM   ZIntervalr   r   rL   r/   r5   )r   Z	intervalsrO   rW   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   rI   )	r3   Ziinfor   maxr   r   r   r/   r5   )r   r>   rO   rW   r    r    r!   test_ensure_index_uint64  s
    z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g }tg }t|| d S r.   )r   r   r/   r5   )r   rO   rW   r    r    r!   test_get_combined_index  s    z&TestIndexUtils.test_get_combined_index)rJ  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$J d S )N__)ry   rJ  )r  r#   rb  r    r    r!   test_generated_op_names  s    
r  index_makerc                 C   s<   t jtdd | dd W d    n1 s.0    Y  d S )Nzunexpected keyword argumentr'   r   )r   )r)   r*   rz   )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 sD0    Y  t jt| d, ttjg d	d
dddd W d    n1 s0    Y  t jt| d" tdddddd W d    n1 s0    Y  t jt| d" tg dddd W d    n1 s0    Y  d S )Nz[Uu]nexpected keyword argumentr'   r   r   rI   testT)r9   Zfastpathr   r   r   r[   rZ   r   )	r)   r*   rz   r   r3   r4   rL   r   r   )r}   r    r    r!   test_deprecated_fastpath  s    ::0r  c                  C   sN   t g d} tjtdd  | d d d f  W d    n1 s@0    Y  d S )N)r   rk   rZ   rB   r&   r'   )r   r)   r*   r+   )rK  r    r    r!   test_shape_of_invalid_index+  s    r	  rJ   c                 C   s   d}t dddd}tjt|d t|| d W d    n1 sH0    Y  t|dd}tjt|d t|| d W d    n1 s0    Y  tdt	d}tjt|d* t j
ddggd | d|_W d    n1 s0    Y  d S )	Nz Index data must be 1-dimensionalr  rZ   r'   rI   rl   r   rB   )r3   r   Zreshaper)   r*   r+   r   r   r   r   r4   r#   )rJ   r}   r7   ra   Zserr    r    r!   test_validate_1d_input7  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   N  r   z<listcomp>.<lambda>r    )r   r    r  r!   r   N  r   r   rC   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   r   r   r   r/   r5   )rh   extra_kwargsrO   rW   r    r    r!   test_construct_from_memoryviewJ  s    r  r  c                 C   sL   t tjg}tdg}| ||}t|| | || }t|| d S r  )r   r3   rd   r4   r/   r=   r;   )r  rK  rW   rO   r    r    r!   test_nan_comparison_same_object[  s    
r  )=collectionsr   r   ior   rD  operatorr   numpyr3   r)   Zpandas.compatr   Zpandas.errorsr   Zpandas.util._test_decoratorsr   Zpandas.core.dtypes.commonr   r	   r
   ZpandasrM   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr/   Zpandas.core.indexes.apir   r   r   r   r   r   r  r  r  r  r  Zindex_subclass_makers_generatorr  r  r	  r   r   re   r
  ZALL_REAL_NUMPY_DTYPESr  r  r  r  r    r    r    r!   <module>   sn   0	         { %4





