a
    j=ic                     @   s  d dl mZ d dlmZ d dlmZ d dlZd dlZd dlZd dlZ	d dl
Z
d dlmZ d dlmZ d dlmZ d dlZd dlmZmZmZmZmZmZmZmZmZmZ d dlmZ d d	l m!Z!m"Z"m#Z#m$Z$ d d
l%m&Z&m'Z'm(Z(m)Z)m*Z* d dl+m,Z, G dd de,Z-G dd de,Z.G dd dZ/e
j01dg ddd Z2e
j01de3 dd Z4e
j05ddd Z6dd Z7dd Z8e
j01d e&i ge"i ge!i gei gei ge#i ged!d"iggd#d$ Z9d%d& Z:d'd( Z;d)d* Z<e
j01d+ej=ej>gd,d- Z?dS ).    )defaultdict)datetime)StringION)IS64)InvalidIndexError)
async_mark)
CategoricalIndex	DataFrameDatetimeIndexIntervalIndexPeriodIndex
RangeIndexSeriesTimedeltaIndex
date_rangeperiod_range)Float64Index
Int64IndexNumericIndexUInt64Index)Index
MultiIndex_get_combined_indexensure_indexensure_index_from_sequences)Basec                   @   s  e Zd ZeZej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;ej	
d<d=d>gej	
d?eegd@dA Z!ej	
d<d=d>gej	
d?ee"gdBdC Z#ej	
dDg e$g dEdF dGD gej	
d?eee%e&e'ee"gdHdI Z(ej	
dJe)g d6dKe)fe)e$g d6dKe)fe)dLdF dGD d6dKe)fe*dMdNe*fe+dMdOgdPdQggg g gdRe+fgdSdT Z,ej	j
dg dUdd	dVdW Z-ej	j
ddej.dXej	j/dYdZd[d\d]d^gdd	d_d` Z0ej	j
dd0dagdd	dbdc Z1ddde Z2ej	
dfedgdhgeg dig djgdkdl Z3dmdn Z4dodp Z5dqdr Z6ej	j
ddgdd	dsdt Z7dudv Z8ej	j
dg dwdd	ej	
dxej9ej:gdydz Z;ej	j
dg dwdd	d{d| Z<d}d~ Z=dd Z>dd Z?ej	
d<g ddd Z@dd ZAej	
ddd dd gdd ZBej	
ddd dd gdd ZCej	
deDg dg ddddddgdd ZEdd ZFdd ZGej	
dddgdd ZHej	j
dg ddgd	dd ZIej	j
dg ddgd	dd ZJej	j
dg ddgd	dd ZKdd ZLdd ZMej	
dg dg djgdd ZNej	
dddgdd ZOej	j
dg dwdd	dd ZPej	j
dg dwdd	ej	
dddgddggdd ZQej	j
dg dwdd	dd ZRddĄ ZSddƄ ZTej	
ddeg dɢfg dʢedMdOgfgdd̄ ZUej	
d=g d͢g d΢g dϢgej	
dddggdgdggddӄ ZVddՄ ZWej	
d<g d֢dd؄ ZXddڄ ZYej	
d=g dۢh dܣgej	
deg dޢeZg dߢfeg ejZg e[dfgdd Z\dd Z]dd Z^ej	
dddgej	
deg dޢeg dgdd Z_dd Z`ej	
ddddejgdd Zaej	
d^g eDebdeZg gdd Zcej	
d=g dg dg dg deddddgdd Zdej	j
ddgdd	ej	
dddgd d Zedd Zfej	j
dg ddd	dd Zgej	
dg dd	d
 Zhej	
deeidejkde+lddgeddd5dgdd Zmej	
ddeg djddgdggfdeg djddgdggfde+ldjddejfdejejfgfgdd Zndd Zodd Zpej	
deeqddfeeidȃdfgd d! Zrd"d# Zsd$d% Ztd&d' Zud(d) Zvd*d+ Zwej	
d,ddgej	
d-g eZg g d.g d/eZg d.eZg d/ed0dd1jxed0dd1y gd2d3 Zzej	
d-g eZg ejZg ej{dgd4d5 Z|ej	
d6e%g ej{feg ejfeg ej}fgd7d8 Z~d9d: Zd;d< Zd=d> Zej	
d?e+ld@dAgeZddgfe+ld@dBgeZddgfgdCdD ZdEdF Zej	
de+lg dGeg dHgdIdJ ZdKdL Zej	
dMejejgdNdO ZdPdQ Ze dRdS ZdTdU ZdVdW ZdS (X  	TestIndexreturnc                 C   s   |  tdS )NZabcde)
_index_clslistself r#   o/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/pandas/tests/indexes/test_base.pysimple_index0   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_identifiers4   s    z#TestIndex.test_can_hold_identifiersr&   r   T)Zindirectc                 C   s\   t t  |d d d f }W d    n1 s00    Y  |jdksHJ t|tjsXJ d S N   )tmassert_produces_warningFutureWarningndim
isinstancenpndarray)r"   r&   	new_indexr#   r#   r$   test_new_axis9   s    .zTestIndex.test_new_axisc                 C   s   t || d S N)r+   assert_contains_allr"   r&   r#   r#   r$   test_constructor_regularA   s    z"TestIndex.test_constructor_regularstringc                 C   s.   t |}t|}t|| t|| d S r4   )r0   arrayr   r+   r5   assert_index_equalr"   r&   arrr2   r#   r#   r$   test_constructor_castingD   s    
z"TestIndex.test_constructor_castingc                 C   s^   t |}t|ddd}t|ts&J |jdks4J t||j d|d< |d dksZJ d S )NTnamecopyr>   ZSOMEBIGLONGSTRINGr   )r0   r9   r   r/   r>   r+   assert_numpy_array_equalvaluesr;   r#   r#   r$   test_constructor_copyL   s    
zTestIndex.test_constructor_copycast_as_objFz2015-01-01 10:00D   z
US/EasternzGreen Eggs & Ham)freqperiodstzr>   )rG   rH   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+   r:   r/   r
   rI   pdZ	TimedeltarN   r0   object_r    )r"   rD   r&   resultr#   r#   r$   "test_constructor_from_index_dtlikeV   s    
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rG   rH   rI   c                 C   s0   t t|}t|| |r,|j|jks,J d S r4   )r   r   r+   r:   rI   )r"   r&   Zhas_tzrS   r#   r#   r$   #test_constructor_from_series_dtlikey   s    z-TestIndex.test_constructor_from_series_dtlikec                 C   s>   g d}t |dd}tt|}t |dd}t|| d S )Nz1-1-1990z2-1-1990z3-1-1990z4-1-1990z5-1-1990MSrG   )r
   r   rQ   to_datetimer+   r:   )r"   dtsexpectedsrS   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sPJ d|_t	|| t
|dd}t|d | t|d }|dksJ d S )NrV   rW   rX      rF   dater>   )r
   r	   r0   randomZrandrN   rP   r>   r+   r:   r   assert_series_equalrQ   Z
infer_freq)r"   rZ   r[   dfrS   rG   r#   r#   r$   'test_constructor_from_frame_series_freq   s    z1TestIndex.test_constructor_from_frame_series_freqc                 C   s,   t jg}t|}t|dd}t|| d S )NfloatrM   )r0   nanr   r   r+   r:   )r"   datar[   rS   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 r4   )rN   r   r+   r:   r0   r9   )r"   klassrN   Zna_valZna_listr[   rS   r#   r#   r$   test_index_ctor_infer_nan_nat   s    	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype   r*   rF      r^   intg?g@      @re   ABCobjc                 C   s*   t ||d}||j|}t|| d S )Nr`   )r   Z_simple_newrB   r+   r:   )r"   valsrN   r&   rS   r#   r#   r$   test_constructor_simple_new   s    	z%TestIndex.test_constructor_simple_new+ignore:Passing keywords other:FutureWarningattrrB   asi8ri   c           	      C   sb  t ddd}t||}||}|j}|d u r2d nt}|dkrNt||}n|||d}t|| |dkrt| t|	|}W d    q1 s0    Y  n|||d}t|| |dkrtt
||}n|t
||d}t|| |dkrBt|" tt
|	|}W d    n1 s60    Y  n|t
||d}t|| d S )N
2011-01-01r^   rH   rx   )rI   rM   )r   getattrZtz_localizerN   r-   r
   r+   r:   r,   rO   r    )	r"   Ztz_naive_fixturerw   ri   r&   argrN   warnrS   r#   r#   r$    test_constructor_dtypes_datetime   s.    	

.
4z*TestIndex.test_constructor_dtypes_datetimec                 C   s`   t jddd}|d }|j}t||}|||d}t|| |t||d}t|| d S )NrJ   r^   rz   rM   )rQ   timedelta_rangeZ
_with_freqrN   r{   r+   r:   r    )r"   rw   ri   r&   rN   rB   rS   r#   r#   r$   !test_constructor_dtypes_timedelta   s    

z+TestIndex.test_constructor_dtypes_timedeltavaluec                 c   s   | ]
}|V  qd S r4   r#   .0_r#   r#   r$   	<genexpr>      zTestIndex.<genexpr>r#   c                 C   s&   ||}t ||sJ t|r"J d S r4   r/   len)r"   r   ri   emptyr#   r#   r$   test_constructor_empty  s    z TestIndex.test_constructor_emptyzempty,klassrX   c                 c   s   | ]
}|V  qd S r4   r#   r   r#   r#   r$   r   $  r   rl   )stepr*   bluered)levelscodesc                 C   s   t ||sJ t|rJ d S r4   r   )r"   r   ri   r#   r#   r$   test_constructor_empty_special  s    z(TestIndex.test_constructor_empty_special)	r   re   rn   ZperiodrangeZrepeats	timedeltaZtuplesuintc                 C   s   | d d S )Ni8)viewr6   r#   r#   r$   test_view_with_args-  s    zTestIndex.test_view_with_argscategoricalzgh-25464)reason)Zmarksbool-object
bool-dtyper   c                 C   s   |j tk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 dtypematchr   z(Cannot change data-type for object array)rN   boolpytestraises
ValueErrorr   	TypeErrorr"   r&   msgr#   r#   r$   'test_view_with_args_object_array_raises?  s    
*z1TestIndex.test_view_with_args_object_array_raisesr   c                 C   s6   | d}|d d|_| d}|jdks2J d S )Nr   r^   foobar)rO   get_locr>   )r"   r&   Zcastedr#   r#   r$   test_astypeT  s
    


zTestIndex.test_astypec                 C   s"   t g dt g dsJ d S Nabcr   equalsr!   r#   r#   r$   test_equals_object`  s    zTestIndex.test_equals_objectcompr   r   )r   r   dr   c                 C   s   t g d|rJ d S r   r   )r"   r   r#   r#   r$   test_not_equals_objectd  s    z TestIndex.test_not_equals_objectc                 C   s   t g d}t g d}||s&J |d}||s>J ||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_identicalj  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bobrl      r@   )	r   r   is_r   r@   r0   r9   r>   rB   )r"   indZind2r<   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rl   r*   rF   TFrM   z$Cannot compare dtypes int64 and boolr   r   )
r   rP   r   r   r   Zasofr   reescapestr)r"   leftrightr   r#   r#   r$    test_asof_numeric_vs_bool_raises  s    ,(z*TestIndex.test_asof_numeric_vs_bool_raisesc                 C   s   t jt|td}d|ddd< || }t|D ]\}}|||ks0J q0|t| }t|D ]\}}|||ks`J q`d S )NrM   Fr^      r*   )r0   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)r8   rn   re   rN   c                 C   sB   t jg |d}t|g }|g  |s,J || |s>J d S )NrM   )r0   r9   typer   )r"   r&   rN   Z	empty_arrempty_indexr#   r#   r$   test_empty_fancy  s    zTestIndex.test_empty_fancyc                 C   sl   t jg t jd}t|g }|g  |s.J d}tjt|d ||  W d    n1 s^0    Y  d S )NrM   z=arrays used as indices must be of integer \(or boolean\) typer   )r0   r9   float_r   r   r   r   
IndexError)r"   r&   Z
empty_farrr   r   r#   r#   r$   test_empty_fancy_raises  s    z!TestIndex.test_empty_fancy_raisesc                 C   s~   |}t ddd}||}||}t||d}t||sFJ t||sVJ t|| t|| t|| d S )Nz
2019-01-01r   rz   O)r   unionr0   appendrO   r+   ZequalContentsr5   )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 )NrF   c                 S   s   | fS r4   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 Nrl   r#   r   r#   r#   r$   r     r   c                 S   s   g | ]}||d kfqS )rl   r#   r   r#   r#   r$   r     r   )r+   makeIntIndexmapr   r:   r   from_tuplesr"   r&   rS   r[   r#   r#   r$   test_map_with_tuples  s    
zTestIndex.test_map_with_tuplesc                 C   s>   g d}t t|g d}|dd }t|t| d S )Nr   barbazr   c                 S   s   | d S Nr   r#   r   r#   r#   r$   r     r   z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)r   r   zipr   r+   r:   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   rl   c                 S   s   dS r   r#   r   r#   r#   r$   r     r   zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)r{   r+   r   r   r:   )r"   rw   r&   r[   rS   r#   r#   r$   %test_map_tseries_indices_return_index  s    z/TestIndex.test_map_tseries_indices_return_indexc                 C   s>   t jdddd}ttddd}t j||dd dd	 d S )
N   hZhourly)rG   r>   r`   c                 S   s   | j S r4   )hourr   r#   r#   r$   r      r   zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>Texact)r+   r   r   r   r:   r   )r"   r   r[   r#   r#   r$   +test_map_tseries_indices_accsr_return_index  s    z5TestIndex.test_map_tseries_indices_accsr_return_indexmapperc                 C   s   dd t | |D S )Nc                 S   s   i | ]\}}||qS r#   r#   r   er   r#   r#   r$   
<dictcomp>  r   &TestIndex.<lambda>.<locals>.<dictcomp>r   rB   r&   r#   r#   r$   r     r   zTestIndex.<lambda>c                 C   s
   t | |S r4   r   r   r#   r#   r$   r     r   c                 C   s8   t g d}td}|||j|}t|| d S )Nr   rF   )r   r+   r   r   rB   r:   )r"   r   r[   r&   rS   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 r4   r   r   r#   r#   r$   r     r   c                 C   s   t |trd S |jsd S tt|dd}|jr:tg }nb|jrR|j	||j
d}nJt|tu rx|j
tkrxt||j
d}n$|j
jdkrt||j
d}nt|}||||}t|| d S )Nr   rM   u)r/   r   	is_uniquer0   aranger   r   r   Z(_is_backward_compat_public_numeric_indexZ_constructorrN   r   rP   kindr   r+   r:   )r"   r&   r   requestrngr[   rS   r#   r#   r$   test_map_dictlike  s     	

zTestIndex.test_map_dictlike)r          @r   )r   r*   r   r&   r   r  r   c                 C   s2   t dtjdg}t g d|}t|| d S )Nr  r   )r*   rl   r   r   r0   rf   r   r+   r:   )r"   r   r[   rS   r#   r#   r$   )test_map_with_non_function_missing_values2  s    z3TestIndex.test_map_with_non_function_missing_valuesc                 C   s@   t dtjdtjdg}|jdd dd}|d }t|| d S )	Ng      ?rF   r^   c                 S   s   | d S r)   r#   r   r#   r#   r$   r   @  r   z1TestIndex.test_map_na_exclusion.<locals>.<lambda>ignore)Z	na_actionr*   r  r   r#   r#   r$   test_map_na_exclusion=  s    zTestIndex.test_map_na_exclusionc                 C   sF   t g d}tdd }d|d< ||}t g d}t|| d S )Nr   c                   S   s   dS )Nblankr#   r#   r#   r#   r$   r   F  r   z0TestIndex.test_map_defaultdict.<locals>.<lambda>stuffrl   )r  r  r  )r   r   r   r+   r:   )r"   r&   Zdefault_dictrS   r[   r#   r#   r$   test_map_defaultdictD  s    
zTestIndex.test_map_defaultdictzname,expected)r   r   )r   Nc                 C   s8   t g dd}t g d|d}||}|j|ks4J d S )Nr   r`   r   )r   r   r>   )r"   r>   r[   r   r   rS   r#   r#   r$   test_append_empty_preserve_nameL  s    
z)TestIndex.test_append_empty_preserve_namezindex, expected)r8   Fr   Fr   Fr   F)rn   Tr   F)re   Tc                 C   s   |  |u sJ d S r4   )
is_numericr"   r&   r[   r#   r#   r$   test_is_numericT  s    zTestIndex.test_is_numeric))r8   T)r   Tr  r  rn   Fr  re   Fc                 C   s   |  |u sJ d S r4   )Z	is_objectr  r#   r#   r$   test_is_objectd  s    zTestIndex.test_is_object)r  r  r  r  r  )r   Tr  c                 C   s<   t t |j|u sJ W d    n1 s.0    Y  d S r4   )r+   r,   r-   Zis_all_datesr  r#   r#   r$   test_is_all_datest  s    zTestIndex.test_is_all_datesc                 C   s   |   d S r4   )Z_summaryr6   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&   	formattedr[   r#   r#   r$   test_format_bug  s    
zTestIndex.test_format_bugrt   )rl   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 )NrM   NaNr   rl   r*   rF   )r    r   r   rP   r  r/   re   r   )r"   rt   nulls_fixturer&   r   Z	null_reprr[   r#   r#   r$   test_format_missing  s    
$zTestIndex.test_format_missingopanyallc                 C   s&   |}t || t |j| ks"J d S r4   )r{   rB   )r"   r&  r%   r&   r#   r#   r$   test_logical_compat  s    zTestIndex.test_logical_compatc                 C   sx   t |}|ttdd }||}|ttdttd|  }t|| ||d }|dd  }t|| d S )Nr^   r   r   rl   )r   r    r   dropr+   r:   )r"   r&   nr*  droppedr[   r#   r#   r$   test_drop_by_str_label  s    
z TestIndex.test_drop_by_str_labelkeysr   1c                 C   s<   t jtdd || W d    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+   r:   )r"   r&   r+  r*  mixedr,  r[   r#   r#   r$   $test_drop_by_str_label_errors_ignore  s    z.TestIndex.test_drop_by_str_label_errors_ignorec                 C   s2   t g d}|d}t ddg}t|| d S )Nr   rl   r*   rF   r   r*  r+   r:   )r"   r&   r,  r[   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   r0  r   rF   rm   )r   r   r   r1  r*  r6   r#   r#   r$   .test_drop_by_numeric_label_raises_missing_keys  s    z8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedrm   r   )rF   rm   r^   c                 C   s*   t g d}|j|dd}t|| d S )Nr   r
  r3  r8  )r"   r'   r[   r&   r,  r#   r#   r$   (test_drop_by_numeric_label_errors_ignore  s    z2TestIndex.test_drop_by_numeric_label_errors_ignore)r   r   r   r   )r   r<  r   )r<  r   r   to_dropr<  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   rl   z\"\[z\] not found in axis\"r   )
r   r*  r+   r:   r   r   __repr__r   r   r1  )	r"   rB   r=  r&   r[   rS   removedZdrop_mer   r#   r#   r$   test_drop_tuple  s    


zTestIndex.test_drop_tuplec                 C   sj   t |dkst|trd S t|tr2ts2td | d}|dd  }|	|d }t
|| d S )Nr   z=Cannot test IntervalIndex with int64 dtype on 32 bit platformr*   )r   r/   r   r   r   r   skipuniquerepeatr*  r+   r:   r"   r&   r[   rS   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  r{   )r"   rw   r&   r#   r#   r$   test_is_monotonic_incomparable  s    
z(TestIndex.test_is_monotonic_incomparablec                 C   sb   |}t g d}tt" |||d d W d    n1 sD0    Y  |d dks^J d S )Nr   rl   P   )r0   r9   r+   r,   r-   	set_value)r"   r%   idxr<   r#   r#   r$   test_set_value_deprecated  s
    0z#TestIndex.test_set_value_deprecated)r   r   quux>   r   r   rM  index,expected)quxr   r   r   FFTTrM   c                 C   s   | |}t|| d S r4   )isinr+   rA   )r"   rB   r&   r[   rS   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/   re   mathisnanr+   rA   r   rQ  r0   r9   )r"   r$  Znulls_fixture2r#   r#   r$   test_isin_nan_common_object%  s*    z%TestIndex.test_isin_nan_common_objectc                 C   s   |t ju s|t ju rxd}tjt|d td|g W d    n1 sH0    Y  tdtjg}|	|g
 rtJ d S td|g}|	tjg}t|tddg |	t jg}t|tddg d S )Nz(data is not compatible with Float64Indexr         ?FT)rQ   NaTZNAr   r   r   r   r0   rf   rQ  r'  r+   rA   r9   )r"   r$  r   rK  resr#   r#   r$   test_isin_nan_common_float64A  s    *z&TestIndex.test_isin_nan_common_float64levelr   r   )rV  r  ro   r"  c                 C   sZ   |  dd  dg }tg d}t||j||d d|_t||j|dd d S )NZnonexistingrP  rZ  r   )r5  r0   r9   r+   rA   rQ  r>   )r"   rZ  r&   rB   r[   r#   r#   r$   test_isin_level_kwargV  s
    
zTestIndex.test_isin_level_kwargc              	   C   sZ   d|j |j d  fD ]@}tjtdd |jg |d W d    q1 sJ0    Y  qd S )Nr   rl   zToo many levelsr   r\  )Znlevelsr   r   r   rQ  )r"   r&   rZ  r#   r#   r$   &test_isin_level_kwarg_bad_level_raisesh  s    z0TestIndex.test_isin_level_kwarg_bad_level_raiseslabelrV  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   r*   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r   r\  )r/   r   r   namesr   r   r1  rQ  )r"   r_  r&   r   r#   r#   r$   &test_isin_level_kwarg_bad_label_raisesm  s    

z0TestIndex.test_isin_level_kwarg_bad_label_raisesc                 C   s4   t ddg}tddg}||}t|| d S )Nr   r   F)r   r0   r9   rQ  r+   rA   )r"   r   r&   r[   rS   r#   r#   r$   test_isin_emptyx  s    
zTestIndex.test_isin_emptyrl   r*   rF   rm   TTTT)r   r   r   rO  z
2018-01-01c                 C   s2   t |}||k}tjg dtd}t|| d S )Nrd  rM   )r   r0   r9   r   r+   rA   )r"   rB   r&   rS   r[   r#   r#   r$   test_boolean_cmp  s    zTestIndex.test_boolean_cmpz
name,levelr   r   c                 C   s,   |  }|r||_||}t|| d S r4   )r@   r>   Zget_level_valuesr+   r:   )r"   r&   r>   rZ  r[   rS   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`   rl   r   r>   r6   r#   r#   r$   test_slice_keep_name  s    zTestIndex.test_slice_keep_name)r8   r   rn   r   re   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#   )r{   r   r   r   rn  r#   r$   r     r   z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   rB   r{   r   r+   r:   )r"   rn  r&   r[   rS   r#   rs  r$   test_str_attribute  s    zTestIndex.test_str_attributer^   r   )r   r/  )r   32000Z2010)startendrG   c                 C   s>   t jtdd |jd W d    n1 s00    Y  d S )Nzonly use .str accessorr   r*   )r   r   AttributeErrorr   rC  r6   r#   r#   r$   test_str_attribute_raises  s    
z#TestIndex.test_str_attribute_raiseszexpand,expectedNr   r   fc                 C   s>   t g d}|d ur$|jj|d}n
|j }t|| d S )N)za b czd er{  )expand)r   r   splitr+   r:   )r"   r|  r[   r&   rS   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   
startswithr0   r9   r+   rA   r/   r1   r   r#   r#   r$   test_str_bool_return  s
    zTestIndex.test_str_bool_returnc                 C   sR   t g d}ttd|d}||jjd }ttdddgd}t|| d S )Nr  rm   r  r   r*   r  r  )r   r   r   r&   r   r  r+   rb   )r"   r&   r\   rS   r[   r#   r#   r$   test_str_bool_series_indexing  s
    z'TestIndex.test_str_bool_series_indexingabcdc                 C   s   dt |v }||ksJ d S )Nr   )dirrD  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)rl   r*   rF   r   r   r   rl   rF   r*   rM   r   )r   r   r0   rR   r6   r#   r#   r$   !test_indexing_doesnt_change_class  s    $z+TestIndex.test_indexing_doesnt_change_classc                 C   s   t tjd}td}tt |j|dd}W d    n1 sH0    Y  tt& |	t
|	t
}W d    n1 s0    Y  t|| d S )N   r   outerrj  )r   r0   ra   Zpermutationr+   r   r,   RuntimeWarningrl  rO   rP   r   r:   )r"   Z
left_indexZright_indexrS   r[   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`   )rl   r   r   ZBACT
fill_valuerq   rp   F)Z
allow_fillr  )rq   rp   rr   )r   r    taker0   r9   r+   r:   rf   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   )rl   r   r[  Tr  )rl   r   )r   r    r   r   r   r  r0   r9   r   r#   r#   r$    test_take_fill_value_none_raises  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   rl   r  )r   r    r   r   r   r  r0   r9   r6   r#   r#   r$   test_take_bad_bounds_raises  s    z%TestIndex.test_take_bad_bounds_raisesr>   labelsrp   rq   rr   )rr   rq   rp   Z20130101rz   c                 C   s.   t g d}||_||d j|ks*J d S )N)r   rl   r*   r   )r   r>   reindex)r"   r>   r  r&   r#   r#   r$   8test_reindex_preserves_name_if_target_is_list_or_ndarray$  s    zBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarrayc                 C   s,   t td}||d jjtjks(J d S Nabcr   )r   r    r  rN   r   r0   rR   )r"   r  r&   r#   r#   r$   <test_reindex_preserves_type_if_target_is_empty_list_or_array9  s    zFTestIndex.test_reindex_preserves_type_if_target_is_empty_list_or_arrayzlabels,dtypec                 C   s*   t td}||d jj|ks&J d S r  )r   r    r  rN   r   )r"   r  rN   r&   r#   r#   r$   :test_reindex_doesnt_preserve_type_if_target_is_empty_index?  s    
zDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_indexc                 C   sd   t td}|ttg tg gg g gd }|jd jjt	j
ksHJ |jd jjt	jks`J d S )Nr  r   rl   )r   r    r  r   r   r   r   rN   r   r0   int64float64)r"   r&   rS   r#   r#   r$   -test_reindex_no_type_preserve_target_empty_miL  s    z7TestIndex.test_reindex_no_type_preserve_target_empty_mic                 C   sR   t g ddd}t g ddd}t g ddd}|j|dd\}}t|| d S )Nr   r   r`   rc  r\  )r   r  r+   r:   )r"   rK  Zidx2r[   rS   r   r#   r#   r$   test_reindex_ignoring_levelT  s
    z%TestIndex.test_reindex_ignoring_levelc                 C   sJ   t td}|tg d}t ddgt g dd}t|| d S )Nr^   )rl   rl   r*   r*   r*   r   rl   )r*   rF   rm   rl   r*   )r   r   groupbyr0   r9   r+   Zassert_dict_equalr   r#   r#   r$   test_groupby\  s    zTestIndex.test_groupbyzmi,expectedr  rm   r^   )rm      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   rl   Z	index_col)rQ   read_csvr   r&   r+   rA   )r"   mir[   rc   rS   r#   r#   r$   test_equals_op_multiindexc  s    

z#TestIndex.test_equals_op_multiindexc                 C   s@   t jtdddgd}|j|jk}tddg}t|| d S )Nr  r   rl   r  T)rQ   r  r   r&   r0   r9   r+   rA   )r"   rc   rS   r[   r#   r#   r$   "test_equals_op_multiindex_identifyr  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   rl   r  zLengths must matchr   )rQ   r  r   r   r   r   r&   )r"   r&   rc   r#   r#   r$   +test_equals_op_mismatched_multiindex_raisesy  s    z5TestIndex.test_equals_op_mismatched_multiindex_raisesc                 C   s@   t g d}tg d}||k}tg d}t|| d S )Nr  r   )FFF)r   r   r   r0   r9   r+   rA   )r"   r  r&   rS   r[   r#   r#   r$   &test_equals_op_index_vs_mi_same_length  s
    z0TestIndex.test_equals_op_index_vs_mi_same_lengthdt_convc                 C   s(   t ddgdd}|j||jks$J d S )Nz01:02:03z01:02:04r_  r`   rg  )r"   r  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   ry  r   r6   r#   r#   r$   #test_cached_properties_not_settable  s    z-TestIndex.test_cached_properties_not_settablec              	      s   t jddd ddlm} d}||I d H  td J |d" t|j	dd	 W d    n1 sj0    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])r
  zidx.rm   )
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 )Nrl   'z$' object has no attribute 'contains'r   )r/   r   containsr   __name__r   r   ry  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^   rm   rF   r*   rl   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 valuerk   r   F)r   r   r   	ExceptionZ	sortlevelr+   r:   rD  r#   r#   r$   test_sortlevel  s$    *.,zTestIndex.test_sortlevel)r  
__module____qualname__r   r   r   fixturer%   r(   markparametrizer3   r7   r=   rC   r   rQ   r   r   rT   rU   r]   rd   rh   r   r0   r  rf   r
   rW  rj   ru   filterwarningsr~   r   r   iterr   r   r   r   r   r   r   r   r   paramZxfailr   r   r   r   r   r   r   r   r   int_Zbool_r   r   r   r   r   r   r   r   r  r   r	  r  r  r  r  r  r  r  r!  r%  r)  r-  r2  r7  r9  r:  r;  r@  rE  rH  rL  r9   r   rR  rU  rY  r]  r^  ra  rP   rb  re  rf  rh  rm  rt  r   r+   r   r   rz  r~  r  r  r    r  r  r  r  r  r  rB   r5  r  r  r  Z
datetime64r  r  r  r  r  r  r  r  rY   to_timedeltar  r  r   r  r  r  r#   r#   r#   r$   r   -   s  


	





( 

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

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

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


	"  		"&	r   c                   @   sv  e Zd ZeZejedddZejg dgdgddd Zd	d
 Z	dd Z
dd Zdd Zdd Zdd Zdd Zejdddgejddedgejdg dg dfg dg dfd d!ejd"gg dfg d#g d#fd$ejd%d&gg d#fgd'd( Zejdddgejd)eg d*eg d*fed+d,d-ejgeg d*feg d.eg d.feejd/d0d1ejgeg d.feg d2d3d4eg d2d3d4feg d5d3d4eg d2d3d4fgd6d7 Zd8d9 Zejd:eejgeejd;ged;d<ejged=d>ejged?ged?d@geg dAedBd?ggdCdD ZdEdF Z dGdH Z!ej"dIdJdK Z#dS )LTestMixedIntIndexr   c                 C   s   |  g dS )Nr   r   rl   r   r*   r   )r   r!   r#   r#   r$   r%     s    zTestMixedIntIndex.simple_indexr  Z
mixedIndex)paramsZidsc                 C   s
   t |jS r4   )r   r  )r"   r  r#   r#   r$   r&     s    zTestMixedIntIndex.indexc                 C   s>   |}t jtdd |  W d    n1 s00    Y  d S Nz'>|<' not supportedr   )r   r   r   argsortr"   r%   r&   r#   r#   r$   test_argsort  s    zTestMixedIntIndex.test_argsortc                 C   s@   |}t jtdd t| W d    n1 s20    Y  d S r  )r   r   r   r0   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   r*   r  rF   r   )r   r+   r:   r>   r   r&   )r"   r%   r&   firstseconds1s2Zs3r#   r#   r$   test_copy_name  s    z TestMixedIntIndex.test_copy_namec                 C   s   t ddgdd}| }t|| |jdd}tj||dd |jdksNJ |jdks\J tt |jdgd}W d    n1 s0    Y  tj||dd |jdksJ |jdgksJ |jdksJ |jdgksJ d S )	Nrl   r*   ZMyNamer`   ZNewNameF)Zcheck_namesr`  )r   r@   r+   r:   r>   r,   r-   r`  )r"   r&   Zindex1index2Zindex3r#   r#   r$   test_copy_name2  s    ,z!TestMixedIntIndex.test_copy_name2c                 C   s<   t t |jdgd W d    n1 s.0    Y  d S )Nr   r  )r+   r,   r-   r@   )r"   r%   r#   r#   r$   test_copy_names_deprecated  s    z,TestMixedIntIndex.test_copy_names_deprecatedc                 C   sB   t dtjddgdd}t dtjdgdd}| }t|| d S )Nr*   rl   Zmy_indexr`   )r   r0   rf   rB  r+   r:   )r"   rK  r[   rS   r#   r#   r$   test_unique_na  s    z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  |j  ksJ | |j ks0J d S r4   )r(  rB   r'  r  r#   r#   r$   r)    s    z%TestMixedIntIndex.test_logical_compatrk  r'  r(  rN   Ncategoryzvals,expectedr   )rV  r  ro   rV  r  ro   r  rp   rq   rr   c                 C   s4   t ||d}|j|d}t ||d}t|| d S )NrM   rj  )r   dropnar+   r:   )r"   rk  rN   rt   r[   r&   rS   r#   r#   r$   test_dropna  s    zTestMixedIntIndex.test_dropnarN  )ry   
2011-01-02
2011-01-03ry   r  r  )rJ   2 days3 daysrJ   r  r  )2012-022012-042012-05MrX   )r  r  rW  r  c                 C   s   |j |d}t|| d S ri  )r  r+   r:   )r"   rk  r&   r[   rS   r#   r#   r$   test_dropna_dt_like1  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  rj  )r   r   r   r   r  )r"   r   r#   r#   r$   test_dropna_invalid_how_raisesS  s    z0TestMixedIntIndex.test_dropna_invalid_how_raisesr&   rl   r*   r   r   rW  
2000-01-01)r  rW  z
2000-01-02z1 dayc                 C   s<   |j du sJ |jdu sJ |jdu s*J |jdu s8J d S NFrF  r6   r#   r#   r$   test_is_monotonic_naX  s    z&TestMixedIntIndex.test_is_monotonic_nac                 C   s8   t g ddd}|ttd|d}dt|v s4J d S )Nr   r   r`   rF   r  0)r   r    r   repr)r"   Zframe_or_seriesr&   rS   r#   r#   r$   test_int_name_formatk  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   rr  r#   r#   r$   r   r  r   z>TestMixedIntIndex.test_str_to_bytes_raises.<locals>.<listcomp>r   z2^'str' object cannot be interpreted as an integer$r   )r   r   r   r   r   bytesr   r#   r#   r$   test_str_to_bytes_raisesp  s    z*TestMixedIntIndex.test_str_to_bytes_raisesz2ignore:elementwise comparison failed:FutureWarningc                 C   s2   t g d}|dk}tg d}t|| d S )N)r   )r   r   r   r   r  )FFT)r   r0   r9   r+   rA   )r"   rK  rS   r[   r#   r#   r$   test_index_with_tuple_boolw  s    z,TestMixedIntIndex.test_index_with_tuple_bool)$r  r  r  r   r   r   r  r%   r&   r  r  r  r  r  r  r)  r  r  rP   r0   rf   r  r
   rQ   rW  r   r   r  r  rY   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   Nr>   r`   r   r   r   r   rl   ZL1ZL2r  c                 C   s   t ||}t|| d S r4   )r   r+   r:   )r"   rg   r`  r[   rS   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   rl   r   )closedr*   r   rF   Zneitherrm   ZbothrM   )rQ   ZIntervalr   r   rP   r+   r:   )r"   Z	intervalsrS   r[   r#   r#   r$   (test_ensure_index_mixed_closed_intervals  s    z7TestIndexUtils.test_ensure_index_mixed_closed_intervalsc                 C   sF   dt t jjg}t|}t||ks*J t|dd}t|| d S )Nr   uint64rM   )	r0   Ziinfor  maxr   r    r   r+   r:   )r"   rB   rS   r[   r#   r#   r$   test_ensure_index_uint64  s
    z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g }tg }t|| d S r4   )r   r   r+   r:   )r"   rS   r[   r#   r#   r$   test_get_combined_index  s    z&TestIndexUtils.test_get_combined_index)r  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__)r{   r  )r  r&   rn  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   r   )r  r#   r#   r$   ,test_index_subclass_constructor_wrong_kwargs  s    r  rv   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   rM   testT)r>   Zfastpathr   r  r   r^   r*   r   )
r   r   r   r   r0   r9   rP   r   r   r   )r   r#   r#   r$   test_deprecated_fastpath  s    ::0r  c                  C   sT   t g d} tt* | d d d f jdks2J W d    n1 sF0    Y  d S )N)r   rl   r*   rF   )rm   rl   )r   r+   r,   r-   shape)rK  r#   r#   r$   test_shape_of_invalid_index  s    r  c                  C   s  d} t dddd}tjt| d t| W d    n1 sD0    Y  tjt| d  t|t j	 W d    n1 s0    Y  tjt| d  t
|t j W d    n1 s0    Y  tjt| d  t|t j W d    n1 s0    Y  t|dd}tjt| d t| W d    n1 sF0    Y  tdtd}tjt| d& t ddggd |_W d    n1 s0    Y  d S )Nz Index data must be 1-dimensionalr  r*   r   rm   r   rF   )r0   r  Zreshaper   r   r   r   r   rO   r  r   r  r   r  r	   r   r   r9   r&   )r   r<   rc   Zserr#   r#   r$   test_validate_1d_input  s     &...(r  zklass, extra_kwargsrG   Yc                 C   sJ   | t tddfi |}| ttddfi |}tj||dd d S )Ni  i  Tr   )
memoryviewr0   r  r    r   r+   r:   )ri   extra_kwargsrS   r[   r#   r#   r$   test_construct_from_memoryview  s    r  c                  C   sj   t g d} d}tjt|d | dd }W d    n1 s@0    Y  t g ddd}t|| d S )Nrc  zsIn a future version of pandas all arguments of Index.set_names except for the argument 'names' will be keyword-onlyr   Zquarterr`   )r   r+   r,   r-   Z	set_namesr:   rK  r   rS   r[   r#   r#   r$   )test_index_set_names_pos_args_deprecation'  s    *r  c                  C   sn   t g d} d}tjt|d$ | d | d}W d    n1 sH0    Y  t g d}t|| d S )Nrl   r*   rF   rl   zYIn a future version of pandas all arguments of Index.drop_duplicates will be keyword-onlyr   last)r*   rF   rl   )r   r+   r,   r-   Zdrop_duplicatesr:   r  r#   r#   r$   )test_drop_duplicates_pos_args_deprecation4  s    
(r  c                  C   sR   t g d} tt |  }W d    n1 s40    Y  |dd iksNJ d S )Nr  r>   )r   r+   r,   DeprecationWarningZ_get_attributes_dict)rK  attrsr#   r#   r$   #test_get_attributes_dict_deprecatedB  s    &r   r&  c                 C   sL   t tjg}tdg}| ||}t|| | || }t|| d S r  )r   r0   rf   r9   r+   rA   r@   )r&  rK  r[   rS   r#   r#   r$   test_nan_comparison_same_objectJ  s    
r!  )@collectionsr   r   ior   rS  operatorr   numpyr0   r   Zpandas.compatr   Zpandas.errorsr   Zpandas.util._test_decoratorsr   ZpandasrQ   r   r	   r
   r   r   r   r   r   r   r   Zpandas._testingZ_testingr+   Zpandas.core.apir   r   r   r   Zpandas.core.indexes.apir   r   r   r   r   Zpandas.tests.indexes.commonr   r   r  r  r  r  r  Zindex_subclass_makers_generatorr  r  r  r  r  r  r  r  r   r  r  r!  r#   r#   r#   r$   <module>   sr   0         ' 84





