o
    _~#g                     @   sh  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  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"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
j01dg ddd Z2e
j01deedgdeedgdeedgdee dgdeee3ddeee4d dgdee(dge5dee)dgd gdgdd Z6dd Z7d d! Z8e
j01d"de	j9e	j:e	j;gd#d$ Z<e
j01d%e(i ggd&d' e&j=D ei ge i ged(d)igd*d+ Z>e
j01d,ej?ej@gd-d. ZAeBd/d0d1 ZCdS )2    )defaultdict)datetime)partialN)IS64)InvalidIndexError)is_any_real_numeric_dtypeis_numeric_dtypeis_object_dtype)CategoricalIndex	DataFrameDatetimeIndexIntervalIndexPeriodIndex
RangeIndexSeriesTimedeltaIndex
date_rangeperiod_rangetimedelta_range)Index
MultiIndex_get_combined_indexensure_indexensure_index_from_sequencesc                   @   s  e Zd ZejdefddZdd Zejj	ddgdd	d
d Z
dd Zejj	ddgdd	dd Z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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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	dwe4ej5gdxdy Z6ejj	dg dvdd	dzd{ Z7d|d} Z8d~d Z9dd Z:ej	deddddeddddedddg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^_ddd Z`ej	d<g dg dg dg deddddgdd Zaejj	ddgdd	ej	dd dgdd Zbdd Zcejj	dg ddd	dd Zdej	d	g d
dd Zeej	deefdeddde&gddgeddddgdd Zhe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&gdiddejfdejejfgfgdd Zidd Zjdd  Zkej	deeld!dfeefdɃdfgd"d# Zmd$d% Znd&d' Zod(d) Zpd*d+ Zqd,d- Zrej	d.ddgej	d/g eTg g d0g d1eTg d0eTg d1ed2ddjsed2ddt gd3d4 Zuej	d/g eTg ejTg ejvdߍgd5d6 Zwej	d7eg ejxfgd8d9 Zyd:d; Zzd<d= Z{d>d? Z|d@dA Z}ej	dBe&gdCdDgeTddgfe&gdCdEgeTddgfgdFdG Z~dHdI Zej	de&gg dJeg dKgdLdM ZdNdO Zej	dPejdQdRgfejdSdTgfgdUdV ZdWdX ZdYdZ Zd[d\ Zd]d^ Zd_d` Zej	dadLejddddgfdNejejdbdbdbgfdejejejdcdcgfgddde Zej	dfdg dgfdLg dhfdNg difgdjdk ZdS (l  	TestIndexreturnc                 C   s   t tdS )Nabcde)r   listself r    /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/indexes/test_base.pysimple_index.      zTestIndex.simple_indexc                 C   s"   |}|d }| |du sJ d S )Nr   T)$_can_hold_identifiers_and_holds_name)r   r"   indexkeyr    r    r!   test_can_hold_identifiers2   s   z#TestIndex.test_can_hold_identifiersr%   r   T)indirectc                 C   sD   t jtdd |d d d f  W d    d S 1 sw   Y  d S )NMulti-dimensional indexingmatch)pytestraises
ValueErrorr   r%   r    r    r!   test_new_axis7   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 r1   )nparrayr   r2   r3   assert_index_equal)r   r%   arr	new_indexr    r    r!   test_constructor_castingB   s   
z"TestIndex.test_constructor_castingc                 C   s   t tddd}t|}t |ddd}t|t sJ |jdks"J |r1t|jt	j|dd nt
||j d|d	< |d	 dksDJ d S )
Nabcnamer=   Tcopyr=   string[pyarrow_numpy]dtypeSOMEBIGLONGSTRINGr   )r   r   r6   r7   
isinstancer=   r2   assert_extension_array_equalvaluespdassert_numpy_array_equal)r   using_infer_stringr%   r9   r:   r    r    r!   test_constructor_copyJ   s   
zTestIndex.test_constructor_copycast_as_objFz2015-01-01 10:00D   z
US/EasternzGreen Eggs & Ham)freqperiodstzr=   )rO   rP   1 daysz
2015-01-01c                 C   s   |r!t jtdd t|t}W d    n1 sw   Y  nt|}t || t|trZ|j	|j	ks8J |r\|t
jdd7 }t|td}|jtjksPJ t|t|ks^J d S d S d S )NzDtype inferencer*   2   )nanosecondsrB   )r2   assert_produces_warningFutureWarningr   astypeobjectr8   rE   r   rQ   rH   	TimedeltarC   r6   object_r   )r   rL   r%   resultr    r    r!   "test_constructor_from_index_dtlikeY   s"   
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rO   rP   rQ   c                 C   s4   t t|}t|| |r|j|jksJ d S d S r1   )r   r   r2   r8   rQ   )r   r%   has_tzr[   r    r    r!   #test_constructor_from_series_dtlike}   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rO   )r   r   rH   to_datetimer2   r8   )r   dtsexpectedsr[   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}|s%tnd}|d j|ks0J d|_t	|| t
|dd}t|d | |sVt|d }|dksXJ d S d S )	Nr_   r`   ra      )   rN   dater5   r>   )r   r   r6   randomdefault_rngrX   rC   r=   r2   r8   r   assert_series_equalrH   
infer_freq)r   rJ   rc   rd   dfr[   rC   rO   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 )NrB   float)r6   nanr   float64r2   r8   )r   datard   r[   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 r1   )rC   r   r2   r8   r6   r7   )r   klassrC   na_valna_listrd   r[   r    r    r!   test_index_ctor_infer_nan_nat   s   	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype   rg   rN      rh   intg?g@      @rp   ABCobjc                 C   s*   t ||d}||j|}t|| d S )Nr>   )r   _simple_newrG   r2   r8   )r   valsrC   r%   r[   r    r    r!   test_constructor_simple_new   s   	z%TestIndex.test_constructor_simple_newattrrG   asi8ru   c           
      C   sR  t ddd}t||}||}|j}|d u}d}|dkr+t||}	t|	| n.|tu rMtj	t
dd |||d W d    n1 sGw   Y  n|||d}	t|	| |dkr|r~tj	t
|d t|| W d    n1 sxw   Y  nt||}	t|	| n|||d	}	t|	| |dkrtt||}	t|	| n0|tu rtj	t
dd |||d W d    n1 sw   Y  n|t||d}	t|	| |dkr|rtj	t
|d tt|| W d    d S 1 sw   Y  d S tt||}	t|	| d S |t||d	}	t|	| d S )
N
2011-01-01rh   rP   z:Cannot use .astype to convert from timezone-naive dtype tor   zunexpected keywordr*   )rQ   rB   )r   getattrtz_localizerC   r   r2   r8   r   r,   r-   	TypeErrorrW   r   )
r   tz_naive_fixturer   ru   r%   argrC   errmsgr[   r    r    r!    test_constructor_dtypes_datetime   sZ   


$z*TestIndex.test_constructor_dtypes_datetimec                 C   s^   t ddd}|d }|j}t||}|||d}t|| |t||d}t|| d S )NrR   rh   r   rB   )r   
_with_freqrC   r   r2   r8   r   )r   r   ru   r%   rC   rG   r[   r    r    r!   !test_constructor_dtypes_timedelta  s   

z+TestIndex.test_constructor_dtypes_timedeltavaluec                 c       | ]}|V  qd S r1   r    .0_r    r    r!   	<genexpr>#      zTestIndex.<genexpr>r    c                 C   s&   ||}t ||sJ t|rJ d S r1   rE   len)r   r   ru   emptyr    r    r!   test_constructor_empty#  s   z TestIndex.test_constructor_emptyzempty,klassra   c                 c   r   r1   r    r   r    r    r!   r   7  r   rz   )steprg   blueredlevelscodesc                 C   s   t ||sJ t|rJ d S r1   r   )r   r   ru   r    r    r!   test_constructor_empty_special2  s   z(TestIndex.test_constructor_empty_special)r   rr   float32int64int32periodrangerepeats	timedelta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)marksbool-object
bool-dtyper   c                 C   s   |j tkr&d}tjt|d |d W d    d S 1 sw   Y  d S |j dkrJtjtdd |d W d    d S 1 sCw   Y  d S d}tjt|d |d W d    d S 1 sdw   Y  d S )NzWhen changing to a larger dtyper*   r   r5   zYCannot change data-type for array of references|Cannot change data-type for object array|)rC   boolr,   r-   r.   r   NotImplementedErrorr   r   r%   r   r    r    r!   'test_view_with_args_object_array_raisesU  s   
"
""z1TestIndex.test_view_with_args_object_array_raises)r   r   r   c                 C   s6   | d}|d d|_| d}|jdksJ d S )Nr   rh   foobar)rW   get_locr=   )r   r%   castedr    r    r!   test_astypep  s
   


zTestIndex.test_astypec                 C   s"   t g dt g dsJ d S Nabcr   equalsr   r    r    r!   test_equals_object  s   "zTestIndex.test_equals_objectcompr   r   )r   r   dr   c                 C   s   t g d|rJ d S r   r   )r   r   r    r    r!   test_not_equals_object  s   z TestIndex.test_not_equals_objectc                 C   s   t g d}t g d}||sJ |d}||sJ ||r&J |d}||s2J t g d}t g ddd}||rGJ d S )Nr   foo)r   r   r   r   )r   r   F)tupleize_cols)r   	identicalrenamer   )r   i1i2i3i4r    r    r!   test_identical  s   

zTestIndex.test_identicalc                 C   s.  t td}||sJ ||    sJ |t tdr'J || r0J ||jddr;J ||d d  rFJ |ttdrRJ || s[J | }d|_||siJ ||spJ |t |jrzJ ttdd}t |dd}t |dd}||rJ d S )N
   F)deepbobrz      r@   )	r   r   is_r   r@   r6   r7   r=   rG   )r   indind2r9   ind1r    r    r!   test_is_  s$   zTestIndex.test_is_c                 C   s   t g d}t ddgtd}d}tjt|d ||d  W d    n1 s)w   Y  tjttt	|d || W d    n1 sJw   Y  tjttt	|d || W d    d S 1 slw   Y  d S )Nrz   rg   rN   TFrB   z$Cannot compare dtypes int64 and boolr*   r   )
r   rX   r,   r-   r   asofr   reescapestr)r   leftrightr   r    r    r!    test_asof_numeric_vs_bool_raises  s   "z*TestIndex.test_asof_numeric_vs_bool_raisesc                 C   s   t jt|td}d|ddd< || }t|D ]\}}|||ks%J q|t| }t|D ]\}}|||ks=J q0d S )NrB   Frh      rg   )r6   onesr   r   	enumerater   r   )r   r%   
bool_index	sub_indexivalr    r    r!   test_booleanindex  s   zTestIndex.test_booleanindexc                 C   s4   |}|g d }|D ]}||| | ksJ q
d S )Nr   )r   )r   r"   r%   slr   r    r    r!   
test_fancy  s
   zTestIndex.test_fancy)r5   r   r   r   r   rr   r   rC   c                 C   s   |t ju r|r|jdkr|tjjdd t jg |d}t|g |jd}|g  	|s/J |t jkrWt
jtdd || 	|sEJ W d    d S 1 sPw   Y  d S || 	|s`J d S )Nr5   znumpy behavior is buggyr   rB   zis deprecatedr*   )r6   bool_rC   applymarkerr,   markxfailr7   typer   r2   rU   rV   )r   r%   rC   requestrJ   	empty_arrempty_indexr    r    r!   test_empty_fancy  s   
"zTestIndex.test_empty_fancyc                 C   st   t jg t jd}t|g |jd}|g  |sJ d}tjt|d ||  W d    d S 1 s3w   Y  d S )NrB   z)arrays used as indices must be of integerr*   )	r6   r7   rr   r   rC   r   r,   r-   
IndexError)r   r%   
empty_farrr   r   r    r    r!   test_empty_fancy_raises  s   
"z!TestIndex.test_empty_fancy_raisesc                 C   sz   |}t ddd}||}||}tt||d}t|| t|| t|| t|| t|| d S )Nz
2019-01-01r   r   O)	r   unionr   r6   appendrW   r2   r8   r3   )r   r"   r%   
date_index	first_cat
second_catappendedr    r    r!   test_union_dt_as_obj  s   

zTestIndex.test_union_dt_as_objc                 C   sr   t tdtjd}|dd }t dd |D }t|| |dd }tdd |D }t|| d S )	NrN   rB   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 Nrz   r    r  r    r    r!   r        c                 S   s   g | ]}||d kfqS )rz   r    r
  r    r    r!   r    s    )	r   r6   aranger   mapr2   r8   r   from_tuplesr   r%   r[   rd   r    r    r!   test_map_with_tuples	  s   zTestIndex.test_map_with_tuplesc                 C   s>   g d}t t|g d}|dd }t|t| d S )Nr   barbazr   c                 S   s   | d S Nr   r    r  r    r    r!   r        z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)r   r  zipr  r2   r8   r   )r   first_levelmulti_indexreduced_indexr    r    r!   test_map_with_tuples_mi  s   z!TestIndex.test_map_with_tuples_mi
2020-01-01r   1 dayr   c                 C   s,   t dgd }|dd }t|| d S )Nrz   r   c                 S      dS r  r    r  r    r    r!   r  +      zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)r   r  r2   r8   r   r%   rd   r[   r    r    r!   %test_map_tseries_indices_return_index!  s   	z/TestIndex.test_map_tseries_indices_return_indexc                 C   sN   t tdddddd}|dd }ttjdd	d
dd}tj||dd d S )Nr     h)rP   rO   hourlyr>   c                 S   s   | j S r1   )hourr  r    r    r!   r  2  r	  zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>r   rB   Texact)r   r   r  r   r6   r  r2   r8   )r   r  r[   rd   r    r    r!   +test_map_tseries_indices_accsr_return_index.  s   z5TestIndex.test_map_tseries_indices_accsr_return_indexmapperc                 C      dd t | |D S )Nc                 S      i | ]\}}||qS r    r    r   er   r    r    r!   
<dictcomp>9      &TestIndex.<lambda>.<locals>.<dictcomp>r  rG   r%   r    r    r!   r  9      zTestIndex.<lambda>c                 C   
   t | |S r1   r   r3  r    r    r!   r  :     
 c                 C   sB   t g d}t tdtjd}|||j|}t|| d S )Nr  rN   rB   )r   r6   r  r   r  rG   r2   r8   )r   r*  rd   r%   r[   r    r    r!   test_map_dictlike_simple6  s   	z"TestIndex.test_map_dictlike_simplec                 C   r+  )Nc                 S   r,  r    r    r-  r    r    r!   r/  G  r0  r1  r2  r3  r    r    r!   r  G  r4  c                 C   r5  r1   r6  r3  r    r    r!   r  H  r7  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	r't
g }n%t|jr5|j||jd}nt|t
u rH|jtkrHt
||jd}nt
|}||||}t|| d S )NzTested in test_categoricalzCannot map duplicated indexr   rB   )rE   r
   r,   skip	is_uniquer6   r  r   r   r   r   r   rC   _constructorr   rX   r  r2   r8   )r   r%   r*  r   rngrd   r[   r    r    r!   test_map_dictlikeD  s   




zTestIndex.test_map_dictlike)r          @r  )r   rg   r9  r%   r   r?  r  c                 C   s2   t dtjdg}t g d|}t|| d S )Nr?  r   )rg   rz   r   r   r6   rq   r  r2   r8   )r   r*  rd   r[   r    r    r!   )test_map_with_non_function_missing_valuesc  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      ?rN   rh   c                 S   s   | d S )Nrg   r    r  r    r    r!   r  q  r  z1TestIndex.test_map_na_exclusion.<locals>.<lambda>ignore)	na_actionrg   rA  r  r    r    r!   test_map_na_exclusionn  s   zTestIndex.test_map_na_exclusionc                 C   sF   t g d}tdd }d|d< ||}t g d}t|| d S )Nr   c                   S   r  )Nblankr    r    r    r    r!   r  w  r   z0TestIndex.test_map_defaultdict.<locals>.<lambda>stuffrz   )rG  rF  rF  )r   r   r  r2   r8   )r   r%   default_dictr[   rd   r    r    r!   test_map_defaultdictu  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 s'w   Y  |j|ks3J d S )Nr   r>   r   zDThe behavior of array concatenation with empty entries is deprecatedr*   )r   r2   rU   rV   r   r=   )r   r=   rd   r   r   r   r[   r    r    r!   test_append_empty_preserve_name}  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)rr   T)r   Tc                 C   s   t ||u sJ d S r1   )r   )r   r%   rd   r    r    r!   test_is_numeric  s   zTestIndex.test_is_numeric))r5   T)r   TrK  rL  )r   F)r   F)r   F)r   FrM  )rr   F)r   Fc                 C   s*   |r|j dkr|rd}t||u sJ d S )Nr5   F)rC   r	   )r   r%   rd   rJ   r    r    r!   test_is_object  s   zTestIndex.test_is_objectc                 C   s   |   d S r1   )_summaryr/   r    r    r!   test_summary  s   zTestIndex.test_summaryc                 C   s   t  }d}t|ds:t|g}tjt|d | }W d    n1 s(w   Y  t|d g}||ks:J tjt|d tg   W d    d S 1 sSw   Y  d S )NIndex\.format is deprecated000r*   r   )	r   nowr   endswithr   r2   rU   rV   format)r   rT  r   r%   	formattedrd   r    r    r!   test_format_bug  s   

"zTestIndex.test_format_bugr   )rz   y       @      @      @c                 C   s   t |}|| t|td}d}tjt|d | }W d    n1 s'w   Y  t|t	r3dnt
|}t
|d t
|d t
|d |g}||ksOJ |d |u sWJ d S )	NrB   rR  r*   NaNr   rz   rg   rN   )r   r   r   rX   r2   rU   rV   rV  rE   rp   r   )r   r   nulls_fixturer%   r   rW  	null_reprrd   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s%J d S r1   )r   rG   	to_seriesr   )r   r^  r"   r%   r   r   r    r    r!   test_logical_compat  s
   zTestIndex.test_logical_compat)r5   r   r   rr   r   c                 C   sx   t |}|ttdd }||}|ttdttd|  }t|| ||d }|dd  }t|| d S )Nrh   r   r   rz   )r   r   r   dropr2   r8   )r   r%   nrc  droppedrd   r    r    r!   test_drop_by_str_label  s   
z TestIndex.test_drop_by_str_labelkeysr  1c                 C   s>   t jtdd || W d    d S 1 sw   Y  d S )N r*   )r,   r-   KeyErrorrc  )r   r%   rg  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 )Nrh   r   r   rC  errorsr  )r   r   r   tolistrc  r2   r8   )r   r%   rd  rc  mixedre  rd   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   rz   rg   rN   r   rc  r2   r8   )r   r%   re  rd   r    r    r!   test_drop_by_numeric_label_loc  s   
z(TestIndex.test_drop_by_numeric_label_locc                 C   sN   t g d}tjtdd |ddg W d    d S 1 s w   Y  d S )Nr   ri  r*   rN   r{   )r   r,   r-   rj  rc  r/   r    r    r!   .test_drop_by_numeric_label_raises_missing_keys  s   "z8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedr{   r   )rN   r{   rh   c                 C   s*   t g d}|j|dd}t|| d S )Nr   rC  rl  rq  )r   r&   rd   r%   re  r    r    r!   (test_drop_by_numeric_label_errors_ignore  s   z2TestIndex.test_drop_by_numeric_label_errors_ignore)r   r   r   r   )r   ru  r   )ru  r   r   to_dropru  c           	   	   C   s   t |}t dgtd}||}t|| ||d }|d |d gfD ]}||}t|| q&||d }dt|d   d}|d |d gfD ]}tj	t
|d || W d    n1 sjw   Y  qQd S )Nr   rB   r   rz   z\"\[z\] not found in axis\"r*   )r   rX   rc  r2   r8   r   r   __repr__r,   r-   rj  )	r   rG   rv  r%   rd   r[   removed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rtst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 platformrg   )r   rE   r   r,   r:  r   r   uniquerepeatrc  r2   r8   r!  r    r    r!   "test_drop_with_duplicates_in_index6  s   

z,TestIndex.test_drop_with_duplicates_in_indexis_monotonic_increasingis_monotonic_decreasing!_is_strictly_monotonic_increasing!_is_strictly_monotonic_decreasingc                 C   s$   t dt dg}t||rJ d S )Nrh      )r   r   rT  r   )r   r   r%   r    r    r!   test_is_monotonic_incomparableB  s   
z(TestIndex.test_is_monotonic_incomparable)r   r  quux>   r  r   r  index,expected)quxr  r   r  FFTTrB   c                 C   s   | |}t|| d S r1   )isinr2   rI   )r   rG   r%   rd   r[   r    r    r!   	test_isinO  s   
	zTestIndex.test_isinc                 C   s   t d|g}t|tr+t|tr+t|r+t|r+t||gt	ddg d S ||u r@t||gt	ddg d S |rX|j
dkrXt||gt	ddg d S t||gt	ddg d S )Nr   FTr5   )r   rE   rp   mathisnanr2   rI   r  r6   r7   rC   )r   r[  nulls_fixture2rJ   idxr    r    r!   test_isin_nan_common_object[  s6   



z%TestIndex.test_isin_nan_common_objectc                 C   s   |}|t ju s|t ju rJdtt|j }tjt|d t	d|g|d W d    n1 s0w   Y  t	dt
jg|d}||g rHJ d S t	d|g|d}|t
jg}t|t
ddg |t jg}t|t
ddg d S )Nz=float\(\) argument must be a string or a (real )?number, not r*         ?rB   FT)rH   NaTNAreprr   __name__r,   r-   r   r   r6   rq   r  r_  r2   rI   r7   )r   r[  float_numpy_dtyperC   r   r  resr    r    r!   test_isin_nan_common_float64  s"   z&TestIndex.test_isin_nan_common_float64levelr   r9  )r  r?  r}   rY  c                 C   sZ   |  dd  dg }tg d}t||j||d d|_t||j|dd d S )Nnonexistingr  r  r   )rn  r6   r7   r2   rI   r  r=   )r   r  r%   rG   rd   r    r    r!   test_isin_level_kwarg  s
   	zTestIndex.test_isin_level_kwargc              	   C   sZ   d|j |j d  fD ] }tjtdd |jg |d W d    n1 s%w   Y  q
d S )Nr   rz   zToo many levelsr*   r  )nlevelsr,   r-   r   r  )r   r%   r  r    r    r!   &test_isin_level_kwarg_bad_level_raises  s   z0TestIndex.test_isin_level_kwarg_bad_level_raiseslabelr  r   xyzzyc                 C   s   t |tr|ddg|jdd   }d| d}n|d}d| d}tjt|d |jg |d	 W d    d S 1 s?w   Y  d S )
Nr   r  rg   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r*   r  )rE   r   r   namesr,   r-   rj  r  )r   r  r%   r   r    r    r!   &test_isin_level_kwarg_bad_label_raises  s   

"z0TestIndex.test_isin_level_kwarg_bad_label_raisesc                 C   s4   t ddg}tddg}||}t|| d S )Nr   r   F)r   r6   r7   r  r2   rI   )r   r   r%   rd   r[   r    r    r!   test_isin_empty  s   
zTestIndex.test_isin_emptypyarrowc                 C   s:   t ddgdd}|d g}tddg}t|| d S )Nr   r   rA   rB   F)r   r  r6   r7   r2   rI   r  r    r    r!   test_isin_arrow_string_null  s   z%TestIndex.test_isin_arrow_string_nullrz   rg   rN   r{   TTTT)r   r  r  r  z
2018-01-01c                 C   s2   t |}||k}tjg dtd}t|| d S )Nr  rB   )r   r6   r7   r   r2   rI   )r   rG   r%   r[   rd   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=   get_level_valuesr2   r8   )r   r%   r=   r  rd   r[   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   asdfr>   rz   r   r=   r/   r    r    r!   test_slice_keep_name  s   zTestIndex.test_slice_keep_name)r5   r   r   r   r   r   rr   r   c                 C   s2   |j ||d}|}|dkr| }t|| d S )Nhowouter)joinsort_valuesr2   r8   )r   r%   	join_typer[   rd   r    r    r!   test_join_self  s
   zTestIndex.test_join_selfmethod)striprstriplstripc                    sB   t g d}t  fdd|jD }t|j  }t|| d S )N)z jackzjill z jesse frankc                    s   g | ]	}t t |qS r    )r   r   r   r  r  r    r!   r    s    z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   rG   r   r   r2   r8   )r   r  r%   rd   r[   r    r  r!   test_str_attribute  s   zTestIndex.test_str_attributerh   )r   rh  )r  320002010Y)startendrO   c                 C   s@   t jtdd |jd W d    d S 1 sw   Y  d S )Nzonly use .str accessorr*   rg   )r,   r-   AttributeErrorr   r|  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 er  )expand)r   r   splitr2   r8   )r   r  rd   r%   r[   r    r    r!   test_str_split  s
   
zTestIndex.test_str_splitc                 C   sF   t g d}|jd}tg d}t|| t|tjs!J d S )Na1a2b1b2r   )TTFF)	r   r   
startswithr6   r7   r2   rI   rE   ndarrayr  r    r    r!   test_str_bool_return+  s
   zTestIndex.test_str_bool_returnc                 C   sR   t g d}ttd|d}||jjd }ttdddgd}t|| d S )Nr  r{   r@  r   rg   r  r  )r   r   r   r%   r   r  r2   rl   )r   r%   re   r[   rd   r    r    r!   test_str_bool_series_indexing4  s
   z'TestIndex.test_str_bool_series_indexingabcdc                 C   s   dt |v }||ksJ d S )Nr   )dirr!  r    r    r!   test_tab_completion<  s   zTestIndex.test_tab_completionc                 C   sX   t g d}|dd t ddgtjdsJ |ddg t ddgtjds*J d S )N)rz   rg   rN   r   r   r   rz   rN   rg   rB   r   )r   r   r6   rZ   r/   r    r    r!   !test_indexing_doesnt_change_classD  s   $(z+TestIndex.test_indexing_doesnt_change_classc                 C   s   t tjdd}tddd}tt |j	|dd}W d    n1 s(w   Y  tt |
t|
t}W d    n1 sHw   Y  t|| d S )Nrg      r  r   r   r  r  )r   r6   rj   rk   permutationr   r2   rU   RuntimeWarningr  rW   rX   r   r8   )r   
left_indexright_indexr[   rd   r    r    r!   test_outer_join_sortJ  s   zTestIndex.test_outer_join_sortc                 C   s   t tddd}|tg d}t tddd}t|| |jtg ddd}t dd	tjgdd}t|| |jtg dd
dd}t g ddd}t|| d S )NABCxxxr>   )rz   r   r9  BACT
fill_valuer   r~   F)
allow_fillr  )r   r~   r   )r   r   taker6   r7   r2   r8   rq   r  r    r    r!   test_take_fill_valueV  s   zTestIndex.test_take_fill_valuec                 C   s   t tddd}d}tjt|d |jtg ddd W d    n1 s(w   Y  tjt|d |jtg d	dd W d    d S 1 sLw   Y  d S )
Nr  r  r>   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r*   )rz   r   r  Tr  )rz   r   )r   r   r,   r-   r.   r  r6   r7   r   r    r    r!    test_take_fill_value_none_raisesg  s   "z*TestIndex.test_take_fill_value_none_raisesc                 C   sX   t tddd}tjtdd |tddg W d    d S 1 s%w   Y  d S )Nr  r  r>   zout of boundsr*   rz   r  )r   r   r,   r-   r   r  r6   r7   r/   r    r    r!   test_take_bad_bounds_raisess  s   "z%TestIndex.test_take_bad_bounds_raisesr=   labelsr~   r   r   )r   r   r~   20130101c                 C   s.   t g d}||_||d j|ksJ d S )N)r   rz   rg   r   )r   r=   reindex)r   r=   r  r%   r    r    r!   8test_reindex_preserves_name_if_target_is_list_or_ndarrayx  s   zBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarrayc                 C   s.   t td}||d jj|jjksJ d S Nr<   r   r   r   r  rC   r   )r   r  r%   r    r    r!   <test_reindex_preserves_type_if_target_is_empty_list_or_array  s   "zFTestIndex.test_reindex_preserves_type_if_target_is_empty_list_or_arrayzlabels,dtypec                 C   s*   t td}||d jj|ksJ d S r  r  )r   r  rC   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sJ d S )Nr<   rB   r   )r   r   r  rC   )r   any_real_numpy_dtyperC   r%   r  r    r    r!   Btest_reindex_doesnt_preserve_type_if_target_is_empty_index_numeric  s   zLTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_index_numericc                 C   sl   t td}|tt g tjt g tjgg g gd }|jd jj	tjks(J |jd jj	tjks4J d S )Nr<   r   rz   )
r   r   r  r   r6   r   rr   r   rC   r   )r   r%   r[   r    r    r!   -test_reindex_no_type_preserve_target_empty_mi  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>   r  r  )r   r  r2   r8   )r   r  idx2rd   r[   r   r    r    r!   test_reindex_ignoring_level  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 )Nrh   )rz   rz   rg   rg   rg   r   rz   )rg   rN   r{   rz   rg   )r   r   groupbyr6   r7   r2   assert_dict_equalr  r    r    r!   test_groupby  s   zTestIndex.test_groupbyzmi,expectedr  r{   rh   )r{      c                 C   sH   t ddgdgtjddgddggdd	gd
d}|j|k}t|| d S )NrN   r  r   rz   r{   rg   rh   r   r   r  columnsr%   )r   r   from_arraysr%   r2   rI   )r   mird   rn   r[   r    r    r!   test_equals_op_multiindex  s   

z#TestIndex.test_equals_op_multiindexc                 C   sX   t ddgdgtjddgddggdd	gd
d}|j|jk}tddg}t|| d S )NrN   r  r   rz   r{   rg   rh   r   r   r  r  T)r   r   r  r%   r6   r7   r2   rI   )r   rn   r[   rd   r    r    r!   "test_equals_op_multiindex_identify  s   z,TestIndex.test_equals_op_multiindex_identifyr  r  )   	   r  c                 C   sl   t ddgdgtjddgddggdd	gd
d}tjtdd |j|k W d    d S 1 s/w   Y  d S )NrN   r  r   rz   r{   rg   rh   r   r   r  r  zLengths must matchr*   )r   r   r  r,   r-   r.   r%   )r   r%   rn   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   r6   r7   r2   rI   )r   rJ   r  r%   r[   rd   r    r    r!   &test_equals_op_index_vs_mi_same_length  s
   z0TestIndex.test_equals_op_index_vs_mi_same_lengthzdt_conv, arg
2000-01-01
2000-01-02z01:02:03z01:02:04c                 C   s$   t |dd}|j||jksJ d S )Nr  r>   r  )r   dt_convr   r%   r    r    r!   !test_dt_conversion_preserves_name  s   	z+TestIndex.test_dt_conversion_preserves_namec                 C   sF   t g d}tjtdd d|_W d    d S 1 sw   Y  d S )Nr   zCan't set attributer*   F)r   r,   r-   r  r;  r/   r    r    r!   #test_cached_properties_not_settable  s   "z-TestIndex.test_cached_properties_not_settablec              	   C   s   t jddd ddlm} d}|| tjd dd. |d	 t|j	d
d W d    n1 s4w   Y  W d    d S W d    d S 1 sLw   Y  d S )NIPythonz6.0.0)
minversionr   )provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])F)raise_on_extra_warningsrC  zidx.r{   )
r,   importorskipIPython.core.completerr  run_cellr2   rU   r   	Completercompletions)r   ipr  coder    r    r!   test_tab_complete_warning  s   

"z#TestIndex.test_tab_complete_warningc                 C   sh   t |tr|d d S dt|j d}tjt|d |d W d    d S 1 s-w   Y  d S )Nrz   'z$' object has no attribute 'contains'r*   )rE   r   containsr   r  r,   r-   r  r   r    r    r!   test_contains_method_removed  s   
"z&TestIndex.test_contains_method_removedc                 C   s>  t g d}tjtdd |jdd W d    n1 sw   Y  tjtdd |jddgd W d    n1 s=w   Y  tjtdd |jdgd W d    n1 s[w   Y  t g d	}|jdgd}t|d
 | t g d	}|jdd}t|d
 | t g d}|jdd}t|d
 | d S )N)rh   r{   rN   rg   rz   z(ascending must be a single bool value orr*   True)	ascendingz3ascending must be a list of bool values of length 1Tzascending must be a bool valuery   r   F)r   r,   r-   	Exception	sortlevelr2   r8   r!  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 )Nrz   first)na_positionr   )r   r6   rq   r  r2   r8   r   r  r[   rd   r    r    r!   test_sortlevel_na_position6  s   z$TestIndex.test_sortlevel_na_positionzperiods, expected_results   r   c                 C   .   t g d}||}t |}t|| d S )N)r   r$  r   (   rS   )r   diffr2   r8   )r   rP   expected_resultsr  r[   rd   r    r    r!   test_index_diff=     

zTestIndex.test_index_diffzdecimals, expected_resultsr  r?  r}   )g333333?gffffff@g      @)gGz?g@gGz@c                 C   r%  )N)gX9v?g(\@gS@)r   roundr2   r8   )r   decimalsr(  r  r[   rd   r    r    r!   test_index_roundM  r*  zTestIndex.test_index_round)r  
__module____qualname__r,   fixturer   r"   r'   r   parametrizer0   r4   r;   rK   r   r   r   r\   r^   rf   ro   rt   r6   rr   rq   r   rH   r  rx   r   r   r   r   iterr
   r   r   r   r   r   r   paramr   r   r   r   r   r   r   r   r   r   r|   r   r   r   r  r  r  r"  r)  r8  filterwarningsr>  r   rB  rE  rI  rJ  rN  rO  rQ  rX  r]  rb  rf  rk  rp  rr  rs  rt  rz  r}  r  r7   r   r  r  r  r  r  r  rX   r  td
skip_if_nor  r  r  r  r  r  r   r  r  r  r  r  r   r  r  r  r  r  r  rG   rn  r  r   r  
datetime64r  r  r  r  r  r   r  r  r  rb   to_timedeltar
  r  r  r  r  r#  r)  r.  r    r    r    r!   r   -   s   






9 	

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

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



	"  		"&	
	r   c                   @   sx  e Zd Zejdef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ejdg d>ejd?d@dAgdBdC ZdDdE ZdFdG Zej dHdIdJ Z!dS )KTestMixedIntIndexr   c                 C   s   t g dS )N)r   r   rz   r   rg   r   r   r   r    r    r!   r"   b  r#   zTestMixedIntIndex.simple_indexc                 C   s@   |}t jtdd |  W d    d S 1 sw   Y  d S Nz'>|<' not supportedr*   )r,   r-   r   argsortr   r"   r%   r    r    r!   test_argsortf  s   
"zTestMixedIntIndex.test_argsortc                 C   sB   |}t jtdd t| W d    d S 1 sw   Y  d S r<  )r,   r-   r   r6   r=  r>  r    r    r!   test_numpy_argsortk  s   "z$TestMixedIntIndex.test_numpy_argsortc                 C   s   |}t ||ddd}t ||dd}||usJ t|| |jdks&J |jdks-J td|d}td|d d	 d}|| }|jjdksIJ d S )
NTmarior?   Fr   rg   r@  rN   r9  )r   r2   r8   r=   r   r%   )r   r"   r%   r   seconds1s2s3r    r    r!   test_copy_namep  s   z TestMixedIntIndex.test_copy_namec                 C   s`   t ddgdd}| }t|| |jdd}tj||dd |jdks'J |jdks.J d S )Nrz   rg   MyNamer>   NewNameF)check_names)r   r@   r2   r8   r=   )r   r%   index1index2r    r    r!   test_copy_name2  s   z!TestMixedIntIndex.test_copy_name2c                 C   sB   t dtjddgdd}t dtjdgdd}| }t|| d S )Nrg   rz   my_indexr>   )r   r6   rq   r{  r2   r8   )r   r  rd   r[   r    r    r!   test_unique_na  s   z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  |j  ksJ | |j ksJ d S r1   )r`  rG   r_  r>  r    r    r!   rb    s   z%TestMixedIntIndex.test_logical_compatr  r_  r`  rC   Ncategoryzvals,expectedr   r+  r  r?  r}   r  r~   r   r   c                 C   s4   t ||d}|j|d}t ||d}t|| d S )NrB   r  )r   dropnar2   r8   )r   r  rC   r   rd   r%   r[   r    r    r!   test_dropna  s   zTestMixedIntIndex.test_dropnar  )r   
2011-01-02
2011-01-03r   rR  rS  )rR   2 days3 daysrR   rT  rU  )2012-022012-042012-05Mra   )rV  rW  r  rX  c                 C   s   |j |d}t|| d S )Nr  )rP  r2   r8   )r   r  r%   rd   r[   r    r    r!   test_dropna_dt_like  s   z%TestMixedIntIndex.test_dropna_dt_likec                 C   sL   d}t jt|d tg djdd W d    d S 1 sw   Y  d S )Nzinvalid how option: xxxr*   r   r  r  )r,   r-   r.   r   rP  )r   r   r    r    r!   test_dropna_invalid_how_raises  s   "z0TestMixedIntIndex.test_dropna_invalid_how_raisesr%   rz   rg   r   r   r  r  )r  r  r  r  c                 C   s<   |j du sJ |jdu sJ |jdu sJ |jdu sJ d S NFr~  r/   r    r    r!   test_is_monotonic_na  s   z&TestMixedIntIndex.test_is_monotonic_na)f8zm8[ns]zM8[us]unique_firstTFc                 C   sp   t g d|d}|r!|jdu sJ |jdu sJ |jdu sJ d S |jdu s(J |jdu s/J |jdu s6J d S )N)Nrz   rz   rB   F)r   r;  r  r  )r   rC   r_  r%   r    r    r!   test_is_monotonic_unique_na  s   z-TestMixedIntIndex.test_is_monotonic_unique_nac                 C   s8   t g ddd}|ttd|d}dt|v sJ d S )Nr   r   r>   rN   r@  0)r   r   r   r  )r   frame_or_seriesr%   r[   r    r    r!   test_int_name_format  s   z&TestMixedIntIndex.test_int_name_formatc                 C   sV   t dd tdD }d}tjt|d t| W d    d S 1 s$w   Y  d S )Nc                 S   s   g | ]}t |qS r    )r   r  r    r    r!   r     r4  z>TestMixedIntIndex.test_str_to_bytes_raises.<locals>.<listcomp>r   z2^'str' object cannot be interpreted as an integer$r*   )r   r   r,   r-   r   bytesr   r    r    r!   test_str_to_bytes_raises  s
   
"z*TestMixedIntIndex.test_str_to_bytes_raisesz2ignore:elementwise comparison failed:FutureWarningc                 C   s2   t g d}|dk}tg d}t|| d S )N)r   )r   r   r   r   rf  )FFT)r   r6   r7   r2   rI   r"  r    r    r!   test_index_with_tuple_bool  s   z,TestMixedIntIndex.test_index_with_tuple_bool)"r  r/  r0  r,   r1  r   r"   r?  r@  rF  rL  rN  rb  r   r2  rX   r6   rq   rQ  r   rH   r  r   r   rZ  r[  rb   r9  r]  r`  rc  re  r5  rg  r    r    r    r!   r:  ^  s    










r:  c                   @   s   e Zd Zejdg dgdeg dfg dgdgeg dddfddgddggdedgddggd	d	gd	d
ggfddgddggddgedgddggd	d	gd	d
ggddgdfgdd Zdd Z	dd Z
dd ZdS )TestIndexUtilszdata, names, expectedr   Nr=   r>   r   r   r   r   rz   L1L2r  c                 C   s   t ||}t|| d S r1   )r   r2   r8   )r   rs   r  rd   r[   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   rz   r   )closedrg   r   rN   neitherr{   bothrB   )rH   Intervalr   r   rX   r2   r8   )r   	intervalsr[   rd   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   rB   )	r6   iinfor   maxr   r   r   r2   r8   )r   rG   r[   rd   r    r    r!   test_ensure_index_uint642  s
   z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g }tg }t|| d S r1   )r   r   r2   r8   )r   r[   rd   r    r    r!   test_get_combined_index>  s   z&TestIndexUtils.test_get_combined_index)r  r/  r0  r,   r   r2  r   r   rk  rq  rt  ru  r    r    r    r!   rh    s&    &
rh  opname)eqneleltgegtaddraddsubrsubmulrmultruedivrtruedivfloordiv	rfloordivpowrpowmoddivmodc                 C   s(   d|  d} t || }|j| ksJ d S )N__)r   r  )rv  r%   r  r    r    r!   test_generated_op_namesD  s   
r  ru   rz   )rs   r  r  r   )rs   rC   r   c                 C   s>   t jtdd | dd W d    d S 1 sw   Y  d S )Nzunexpected keyword argumentr*   r  )r   )r,   r-   r   )ru   r    r    r!   ,test_index_subclass_constructor_wrong_kwargsc  s   "r  c                  C   s  d} t jt| d ttjddgtdddd W d    n1 s"w   Y  t jt| d ttjg d	d
dddd W d    n1 sGw   Y  t jt| d tdddddd W d    n1 sgw   Y  t jt| d tg dddd W d    d S 1 sw   Y  d S )Nz[Uu]nexpected keyword argumentr*   r   r   rB   testT)r=   fastpathr   r   r   rh   rg   r   )	r,   r-   r   r   r6   r7   rX   r   r
   )r   r    r    r!   test_deprecated_fastpathv  s   "r  c                  C   sP   t g d} tjtdd | d d d f  W d    d S 1 s!w   Y  d S )N)r   rz   rg   rN   r)   r*   )r   r,   r-   r.   )r  r    r    r!   test_shape_of_invalid_index  s   "r  rC   c                 C   s   d}t dddd}tjt|d t|| d W d    n1 s$w   Y  t|dd}tjt|d t|| d W d    n1 sIw   Y  tdt	d}tjt|d t j
ddggd | d|_W d    d S 1 suw   Y  d S )	Nz Index data must be 1-dimensionalr  rg   r*   rB   r{   r   rN   )r6   r  reshaper,   r-   r.   r   r   r   r   r7   r%   )rC   r   r9   rn   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 )NrB   r;  r  dtypr    r!   r    r  z<listcomp>.<lambda>r    )r   r    r  r!   r    s    r  rO   r  c                 C   sJ   | t tddfi |}| ttddfi |}tj||dd d S )Ni  i  Tr'  )
memoryviewr6   r  r   r   r2   r8   )ru   extra_kwargsr[   rd   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   rq   r7   r2   rI   r@   )r^  r  rd   r[   r    r    r!   test_nan_comparison_same_object  s   
r  r  c                  C   sF   dd l } tdgddggt| |  d}|jrJ |jr!J d S )Nr   rz   rg   rN   rB   )r  r   rH   
ArrowDtypelist_r   r  r  )par  r    r    r!   #test_is_monotonic_pyarrow_list_type  s   &
r  )Dcollectionsr   r   	functoolsr   r  operatorr   numpyr6   r,   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr6  pandas.core.dtypes.commonr   r   r	   pandasrH   r
   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr2   pandas.core.indexes.apir   r   r   r   r   r   r:  rh  r   r2  r  r   ro  rX   r  r  r  r   r   rr   r  ALL_REAL_NUMPY_DTYPESr  rz  r|  r  r7  r  r    r    r    r!   <module>   s    4	          ; 34






