
    d                     \   d dl mZ d dlmZ d dlmZ d dlZd dlZd dlZd dlZ	d dl
Z
d dlmZ d dlmZ d dlmZ d dlmZmZmZ d dlZd d	lmZmZmZmZmZmZmZmZmZm Z  d dl!m"Z# d d
l$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+  G d de+          Z, G d de+          Z- G d d          Z.e
j/        0                    dg d          d             Z1e
j/        0                    d e#j2                              d             Z3d Z4d Z5e
j/        0                    dde	j6        e	j7        e	j8        g          d             Z9e
j/        0                    de%i ggd e#j:        D             ei gei geddig          d             Z;e
j/        0                    d ej<        ej=        g          d!             Z>dS )"    )defaultdict)datetime)StringION)IS64)InvalidIndexError)
async_mark)is_any_real_numeric_dtypeis_numeric_dtypeis_object_dtype)
CategoricalIndex	DataFrameDatetimeIndexIntervalIndexPeriodIndex
RangeIndexSeriesTimedeltaIndex
date_rangeperiod_range)Index
MultiIndex_get_combined_indexensure_indexensure_index_from_sequences)Basec                   J   e Zd ZeZej        defd            Zd Zej	        
                    ddgd          d             Zd	 Zej	        
                    dd
gd          d             Zej	        
                    dd
gd          d             Zej	        
                    dddg          ej	        
                    d eddddd           eddd           ej        ddd           eddd          g          d                         Zej	        
                    d edddd          df ej        ddd          df eddd          dfg          d             Zd Zd Zd Zej	        
                    deej        ej        fed ej        fg          d!             Zej	        
                    d"g d#d$fd%ej        d&d'gd(fd)d*d+ej        gd,fg          d-             Zej	        
                    d.d/d0g          ej	        
                    d1eeg          d2                         Zej	        
                    d.d/d0g          ej	        
                    d1ee g          d3                         Z!ej	        
                    d4g  e"g           d5 d6D             g          ej	        
                    d1ee#ee g          d7                         Z$ej	        
                    d8 e%g d*9          e%f e% e"g           d*9          e%f e%d: d6D             d*9          e%f e&d;<          e&f e'd;d=gd>d?ggg g g@          e'fg          dA             Z(ej	        
                    dg dBd          dC             Z)ej	        
                    dd
 ej*        dDej	        +                    dEF          G          dHdIdJgd          dK             Z,ej	        
                    dg dLd          dM             Z-dN Z.ej	        
                    dO edPdQg           eg dR          g dSg          dT             Z/dU Z0dV Z1dW Z2ej	        
                    dd
gd          dX             Z3dY Z4ej	        
                    dg dZd          ej	        
                    d[ej5        ej6        g          d\                         Z7ej	        
                    dg dZd          d]             Z8d^ Z9d_ Z:d` Z;ej	        
                    d.g da          db             Z<dc Z=ej	        
                    ddde df g          dg             Z>ej	        
                    dddh di g          dj             Z?ej	        
                    dd e@g dkg dlm          dndodpdlg          dq             ZAdr ZBds ZCej	        
                    dtdudvg          dw             ZDej	        
                    dxg dydg          dz             ZEej	        
                    dxg d{dg          d|             ZFd} ZGd~ ZHej	        
                    dg dg dSg          d             ZIej	        
                    dddg          d             ZJej	        
                    dg dd          d             ZKej	        
                    dg dd          ej	        
                    ddndgddgg          d                         ZLej	        
                    dg dd          d             ZMd ZNd ZOej	        
                    dd eg d          fg d ed;d=g          fg          d             ZPej	        
                    d/g dg dg dg          ej	        
                    dddPgdPdgg          d                         ZQd ZRej	        
                    d.g d          d             ZSej	        
                    d/g dh dg          ej	        
                    d eg d           ejT        g d          f eg            ejT        g eU          fg          d                         ZVd ZWd ZXej	        
                    dddg          ej	        
                    d eg d           eg dej                  g          d                         ZYd ZZej	        
                    ddddej        g          d             Z[ej	        
                    dJg  e@e\           ejT        g           g          d             Z]ej	        
                    d/g dg dg dg d eddd          g          d             Z^ej	        
                    dd
gd          ej	        
                    dddg          d                         Z_d Z`ej	        
                    dg dd          d             Zaej	        
                    dg d          d             Zbej	        
                    d e ecd                     edje        d¦           e'jf        ddg           eddd)Ǧ          g          dȄ             Zgej	        
                    dd eg dSddgdgg          fd eg dSddgdgg          fd e'jf        dSddej        fdej        ej        fg          fg          d΄             Zhdτ ZidЄ Zjej	        
                    d e ekdѦ                    df e ecd                    dfg          d҄             Zldӄ ZmdԄ ZndՄ Zodք Zpdׄ Zqej	        
                    dddg          ej	        
                    dg  ejT        g           g dڢg dۢ ejT        g dڢ           ejT        g dۢ           eddݦ          jr         eddݦ          s                                g          dބ                         Ztej	        
                    dg  ejT        g            ejT        g eju                  g          d߄             Zvej	        
                    d eg           ejw        fg          d             Zxd Zyd Zzd Z{d Z|ej	        
                    d e'jf        ddg           ejT        ddg          f e'jf        ddg           ejT        ddg          fg          d             Z}d Z~ej	        
                    d e'jf        g d           eg d          g          d             Zd Zej	        
                    dej        ddgfej        ddgfg          d             Zd Z e            d             Zd Zd ZdS )	TestIndexreturnc                 F    |                      t          d                    S )Nabcde)
_index_clslistselfs    Z/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/indexes/test_base.pysimple_indexzTestIndex.simple_index0   s    tG}}---    c                 L    |}|d         }|                     |          du sJ d S )Nr   T)$_can_hold_identifiers_and_holds_name)r$   r&   indexkeys       r%   test_can_hold_identifiersz#TestIndex.test_can_hold_identifiers4   s5    Ah99#>>$FFFFFFr'   r*   r   T)indirectc                     t          j        t          d          5  |d d d f          d d d            d S # 1 swxY w Y   d S )NMulti-dimensional indexingmatch)pytestraises
ValueErrorr$   r*   s     r%   test_new_axiszTestIndex.test_new_axis9   s     ]:-IJJJ 	 	$'NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   6::c                 0    t          j        ||           d S N)tmassert_contains_allr5   s     r%   test_constructor_regularz"TestIndex.test_constructor_regularA   s    
ue,,,,,r'   stringc                     t          j        |          }t          |          }t          j        ||           t          j        ||           d S r9   )nparrayr   r:   r;   assert_index_equalr$   r*   arr	new_indexs       r%   test_constructor_castingz"TestIndex.test_constructor_castingD   sH     huoo#JJ	
sI...
eY/////r'   c                     t          j        |          }t          |dd          }t          |t                    sJ |j        dk    sJ t          j        ||j                   d|d<   |d         dk    sJ d S )NTnamecopyrG   SOMEBIGLONGSTRINGr   )r?   r@   r   
isinstancerG   r:   assert_numpy_array_equalvaluesrB   s       r%   test_constructor_copyzTestIndex.test_constructor_copyL   s    huoo#Dv666	)U+++++~''''
#C)9:::$A|2222222r'   cast_as_objFz2015-01-01 10:00D   z
US/EasternzGreen Eggs & Ham)freqperiodstzrG   )rR   rS   1 daysz
2015-01-01c                    |r(t          |                    t                              }nt          |          }t          j        ||           t          |t                    r{|j        |j        k    sJ |ri|t          j	        d          z  }t          |t                    }|j
        t          j        k    sJ t          |          t          |          k    sJ d S d S d S )N2   )nanosecondsdtype)r   astypeobjectr:   rA   rK   r   rT   pd	TimedeltarZ   r?   object_r"   )r$   rO   r*   results       r%   "test_constructor_from_index_dtlikez,TestIndex.test_constructor_from_index_dtlikeV   s    "  	"5<<//00FF5\\F
fe,,,e]++ 		39(((( 3 "5555uF333|rz1111F||tE{{2222		3 		33 3 32r'   zindex,has_tz)rR   rS   rT   c                     t          t          |                    }t          j        ||           |r|j        |j        k    sJ d S d S r9   )r   r   r:   rA   rT   )r$   r*   has_tzr`   s       r%   #test_constructor_from_series_dtlikez-TestIndex.test_constructor_from_series_dtlikey   sW     ve}}%%
fe,,, 	)9((((	) 	)((r'   c                     g d}t          |d          }t          t          j        |                    }t          |d          }t	          j        ||           d S )Nz1-1-1990z2-1-1990z3-1-1990z4-1-1990z5-1-1990MSrR   )r   r   r]   to_datetimer:   rA   )r$   dtsexpectedsr`   s        r%   !test_constructor_from_series_freqz+TestIndex.test_constructor_from_series_freq   sd     KJJ 40002>#&&''qt,,,
fh/////r'   c                    g d}t          |d          }t          t          j                            dd                    }||d<   t          |d         d          }|d         j        t          k    sJ d|_        t          j	        ||           t          |d          }t          j        |d         |           t          j        |d                   }|dk    sJ d S )Nrf   rg   rh      rQ   daterG   )r   r   r?   randomrandrZ   r\   rG   r:   rA   r   assert_series_equalr]   
infer_freq)r$   rj   rk   dfr`   rR   s         r%   'test_constructor_from_frame_series_freqz1TestIndex.test_constructor_from_frame_series_freq   s     KJJ 4000ry~~a++,,6
r&z555&z6))))
fh///#F+++
r&z8444 }RZ((t||||||r'   c                     t           j        g}t          |t           j                  }t          |d          }t	          j        ||           d S )NrY   float)r?   nanr   float64r:   rA   )r$   datark   r`   s       r%   test_constructor_int_dtype_nanz(TestIndex.test_constructor_int_dtype_nan   sJ    xRZ000t7+++
fh/////r'   zklass,dtype,na_valzdatetime64[ns]c                     ||g} ||          }|j         |k    sJ t          |          }t          j        ||           t          t	          j        |                    }t          j        ||           d S r9   )rZ   r   r:   rA   r?   r@   )r$   klassrZ   na_valna_listrk   r`   s          r%   test_index_ctor_infer_nan_natz'TestIndex.test_index_ctor_infer_nan_nat   s|     6"5>>~&&&&w
fh///rx(())
fh/////r'   z
vals,dtype      rQ      ro   intg?g@      @ry   ABCobjc                     t          ||          }|                    |j        |          }t          j        ||           d S )Nrq   )r   _simple_newrM   r:   rA   )r$   valsrZ   r*   r`   s        r%   test_constructor_simple_newz%TestIndex.test_constructor_simple_new   sF     d'''""5<77
fe,,,,,r'   attrrM   asi8r   c                    t          dd          }t          ||          }|                    |          }|j        }|d u}d}|dk    r8t	          |                              |          }	t          j        |	|           nl|t          u rAt          j	        t          d          5   |||           d d d            n# 1 swxY w Y   n" |||          }	t          j        |	|           |dk    r|rVt          j	        t          |          5  t	          |                              |           d d d            n# 1 swxY w Y   nZt	          |                              |          }	t          j        |	|           n" |||	          }	t          j        |	|           |dk    rEt	          t          |                                        |          }	t          j        |	|           ny|t          u rAt          j	        t          d          5   |||           d d d            n# 1 swxY w Y   n/ |t          |          |          }	t          j        |	|           |dk    r|ret          j	        t          |          5  t	          t          |                                        |           d d d            d S # 1 swxY w Y   d S t	          t          |                                        |          }	t          j        |	|           d S  |t          |          |	          }	t          j        |	|           d S )
N
2011-01-01ro   rS   z:Cannot use .astype to convert from timezone-naive dtype tor   zunexpected keywordr0   )rT   rY   )r   getattrtz_localizerZ   r   r:   rA   r   r2   r3   	TypeErrorr[   r"   )
r$   tz_naive_fixturer   r   r*   argrZ   errmsgr`   s
             r%    test_constructor_dtypes_datetimez*TestIndex.test_constructor_dtypes_datetime   sJ    <333eT""!!"233 d*J6>>"3''334DEEF!&%0000e^^y0DEEE 0 0c.////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U3#3444F!&%0006>> 5]9C888 5 5!#&&--e4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 's++22599%fe4444U3e,,,F!&%0006>>"499--99:JKKF!&%0000e^^y0DEEE 0 0c.////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U499)9:::F!&%0006>> 5]9C888 ; ;!$s)),,33E:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 'tCyy1188??%fe44444U499E222F!&%00000sH   &C  CC#E  EEH//H36H30K

KKc                 ,   t          j        dd          }|                    d           }|j        }t	          ||          } |||          }t          j        ||            |t          |          |          }t          j        ||           d S )NrU   ro   r   rY   )r]   timedelta_range
_with_freqrZ   r   r:   rA   r"   )r$   r   r   r*   rZ   rM   r`   s          r%   !test_constructor_dtypes_timedeltaz+TestIndex.test_constructor_dtypes_timedelta  s     "8Q777  &&%%vU+++
fe,,,tF||5111
fe,,,,,r'   valuec              #      K   | ]}|V  d S r9    .0_s     r%   	<genexpr>zTestIndex.<genexpr>  s      __Aa______r'   r   c                 b     ||          }t          ||          sJ t          |          rJ d S r9   rK   len)r$   r   r   emptys       r%   test_constructor_emptyz TestIndex.test_constructor_empty  s?     e%'''''u::r'   zempty,klassrh   c              #      K   | ]}|V  d S r9   r   r   s     r%   r   zTestIndex.<genexpr>1  s      !r'   r   )stepr   bluered)levelscodesc                 L    t          ||          sJ t          |          rJ d S r9   r   )r$   r   r   s      r%   test_constructor_empty_specialz(TestIndex.test_constructor_empty_special,  s2     %'''''u::r'   )r   r{   float32int64int32periodrangerepeats	timedeltatuplesuint64uint32c                 0    |                     d           d S )Ni8)viewr5   s     r%   test_view_with_argszTestIndex.test_view_with_args:  s    & 	

4r'   categoricalzgh-25464)reason)marksbool-object
bool-dtyper   c                 V   |j         t          k    rMd}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S d}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )NzWhen changing to a larger dtyper0   r   z(Cannot change data-type for object array)rZ   boolr2   r3   r4   r   r   r$   r*   r   s      r%   'test_view_with_args_object_array_raisesz1TestIndex.test_view_with_args_object_array_raisesO  s3    ;$3Cz555 ! !

4   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! =Cy444 ! !

4   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s#   AAA;BB"%B")r   r   r   c                     |                     d          }|                    d           d|_        |                     d          }|j        dk    sJ d S )Nr   ro   foobar)r[   get_locrG   )r$   r*   casteds      r%   test_astypezTestIndex.test_astyped  s\     d## 	q 
d##{h&&&&&&r'   c                 p    t          g d                              t          g d                    sJ d S Nabcr   equalsr#   s    r%   test_equals_objectzTestIndex.test_equals_objectt  s:    ___%%,,U???-C-CDDDDDDDr'   compr   r   )r   r   dr   c                 R    t          g d                              |          rJ d S r   r   )r$   r   s     r%   test_not_equals_objectz TestIndex.test_not_equals_objectx  s0     ))006666666r'   c                    t          g d          }t          g d          }|                    |          sJ |                    d          }|                    |          sJ |                    |          rJ |                    d          }|                    |          sJ t          g d          }t          g dd          }|                    |          rJ d S )Nr   foo)r   r   r   r   )r   r   F)tupleize_cols)r   	identicalrenamer   )r$   i1i2i3i4s        r%   test_identicalzTestIndex.test_identical~  s    ???##???##||BYYuyy}}<<#####YYu||B77788777uMMM<<#######r'   c                    t          t          d                    }|                    |          sJ |                    |                                                                                                                                          sJ |                    t          t          d                              rJ |                    |                                          rJ |                    |                    d                    rJ |                    |d d                    rJ |                    t          j        t          d                              rJ |                    |                                          sJ |                                }d|_        |                    |          sJ |                    |          sJ |                    t          |j                            rJ t          j        t          dd                    }t          |d          }t          |d          }|                    |          rJ d S )N
   F)deepbobr      rI   )	r   r   is_r   rI   r?   r@   rG   rM   )r$   indind2rC   ind1s        r%   test_is_zTestIndex.test_is_  s   E"IIwws||wwsxxzz((--//446677777775r++,,,,,77388::&&&&&773888//00000773qqq6??"""7728E"II..///// wwsxxzz"""""xxzz	wwt}}xx}}775,,-----huQ||$$Su%%%Su%%%88D>>!!!!!r'   c                    t          g d          }t          ddgt                    }d}t          j        t          |          5  |                    |d                    d d d            n# 1 swxY w Y   t          j        t          t          j        t          |                              5  |                    |           d d d            n# 1 swxY w Y   t          j        t          t          j        t          |                              5  |                    |           d d d            d S # 1 swxY w Y   d S )Nr   r   rQ   TFrY   z$Cannot compare dtypes int64 and boolr0   r   )
r   r\   r2   r3   r   asofr   reescapestr)r$   leftrightr   s       r%    test_asof_numeric_vs_bool_raisesz*TestIndex.test_asof_numeric_vs_bool_raises  s   YYYtUm62224]9C000 	  	 IIeAh	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ],BIc%jj4I4IJJJ 	 	IIe	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ],BIc$ii4H4HIII 	 	JJt	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s6   A//A36A34CCCD>>EEc                 `   t          j        t          |          t                    }d|ddd<   ||         }t	          |          D ] \  }}|                    |          |k    sJ !|t          |                   }t	          |          D ] \  }}|                    |          |k    sJ !d S )NrY   Fro      r   )r?   onesr   r   	enumerater   r"   )r$   r*   
bool_index	sub_indexivals         r%   test_booleanindexzTestIndex.test_booleanindex  s    WSZZt444
"
1R6*%		** 	/ 	/FAs$$S))Q.....$z**+		** 	/ 	/FAs$$S))Q.....	/ 	/r'   c                 j    |}|g d         }|D ]#}|||                     |                   k    sJ $d S )Nr   )r   )r$   r&   r*   slr  s        r%   
test_fancyzTestIndex.test_fancy  sQ    999 	* 	*A2::a==))))))	* 	*r'   )r=   r   r   r   r   r{   r   rZ   c                     t          j        g |          } t          |          g |j                  }|g                              |          sJ ||                             |          sJ d S NrY   )r?   r@   typerZ   r   )r$   r*   rZ   	empty_arrempty_indexs        r%   test_empty_fancyzTestIndex.test_empty_fancy  sw     HRu---	!d5kk"EK888Ry"";/////Y))+6666666r'   c                 :   t          j        g t           j                  } t          |          g |j                  }|g                              |          sJ d}t          j        t          |          5  ||          d d d            d S # 1 swxY w Y   d S )NrY   z=arrays used as indices must be of integer \(or boolean\) typer0   )	r?   r@   float_r  rZ   r   r2   r3   
IndexError)r$   r*   
empty_farrr  r   s        r%   test_empty_fancy_raisesz!TestIndex.test_empty_fancy_raises  s     Xb	222
!d5kk"EK888Ry"";/////N]:S111 	 	*	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   :	BBBc                    |}t          dd          }|                    |          }|                    |          }t          j        ||                    d                    }t          j        ||          sJ t          j        ||          sJ t          j        ||           t          j        ||           t          j        ||           d S )Nz
2019-01-01r   r   O)r   unionr?   appendr[   r:   equalContentsr;   )r$   r&   r*   
date_index	first_cat
second_catappendeds          r%   test_union_dt_as_objzTestIndex.test_union_dt_as_obj  s    b999
KK
++	[[''
9UJ$5$5c$:$:;;	844444
E22222
ui000
uj111
z955555r'   c                 l   t          j        d          }t          j        d                              d           }t          d |D                       }t          j        ||           |                    d           }t          j        d |D                       }t          j        ||           d S )NrQ   c                     | fS r9   r   xs    r%   <lambda>z0TestIndex.test_map_with_tuples.<locals>.<lambda>  s    1$ r'   c                     g | ]}|fS r   r   r   r  s     r%   
<listcomp>z2TestIndex.test_map_with_tuples.<locals>.<listcomp>  s    ...11$...r'   c                     | | dk    fS Nr   r   r"  s    r%   r$  z0TestIndex.test_map_with_tuples.<locals>.<lambda>  s    aa[ r'   c                     g | ]
}||d k    fS )r   r   r&  s     r%   r'  z2TestIndex.test_map_with_tuples.<locals>.<listcomp>  s     *F*F*F1AqAv;*F*F*Fr'   )r:   makeIntIndexmapr   rA   r   from_tuplesr$   r*   r`   rk   s       r%   test_map_with_tupleszTestIndex.test_map_with_tuples  s    
 ""##''77.....//
fh/// 0011)*F*F*F*F*FGG
fh/////r'   c                     g d}t          j        t          |g d                    }|                    d           }t	          j        |t          |                     d S )Nr   barbazr   c                     | d         S Nr   r   r"  s    r%   r$  z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>  s
    !A$ r'   )r   r-  zipr,  r:   rA   r   )r$   first_levelmulti_indexreduced_indexs       r%   test_map_with_tuples_miz!TestIndex.test_map_with_tuples_mi  sa     ,++ ,Siii-H-HII#77
mU;-?-?@@@@@r'   )makeDateIndexmakePeriodIndexmakeTimedeltaIndexc                      t          t          |          d          }t          dgdz            }|                    d           }t          j        ||           d S )Nr   r   c                     dS r)  r   r"  s    r%   r$  zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>  s    Q r'   )r   r:   r   r,  rA   )r$   r   r*   rk   r`   s        r%   %test_map_tseries_indices_return_indexz/TestIndex.test_map_tseries_indices_return_index  sZ     "D!!"%%!r??;;''
h/////r'   c                     t          j        ddd          }t          t          d          dd          }t          j        ||                    d           d	           d S )
N   hhourly)rR   rG   r   )rZ   rG   c                     | j         S r9   )hourr"  s    r%   r$  zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>  s     r'   Texact)r:   r;  r   r   rA   r,  )r$   r  rk   s      r%   +test_map_tseries_indices_accsr_return_indexz5TestIndex.test_map_tseries_indices_accsr_return_index  sb    %bsBBB
r'AAA
h
7G7G(H(HPTUUUUUUr'   mapperc                 6    d t          | |          D             S )Nc                     i | ]\  }}||	S r   r   r   er  s      r%   
<dictcomp>z&TestIndex.<lambda>.<locals>.<dictcomp>       "G"G"GDAq1a"G"G"Gr'   r6  rM   r*   s     r%   r$  zTestIndex.<lambda>       "G"GC4F4F"G"G"G r'   c                 "    t          | |          S r9   r   rR  s     r%   r$  zTestIndex.<lambda>!      &"7"7 r'   c                     t          g d          }t          j        d          }|                     ||j        |                    }t          j        ||           d S )Nr1  rQ   )r   r:   r+  r,  rM   rA   )r$   rJ  rk   r*   r`   s        r%   test_map_dictlike_simplez"TestIndex.test_map_dictlike_simple  s_     ...//""66(/599::
fh/////r'   c                 6    d t          | |          D             S )Nc                     i | ]\  }}||	S r   r   rM  s      r%   rO  z&TestIndex.<lambda>.<locals>.<dictcomp>.  rP  r'   rQ  rR  s     r%   r$  zTestIndex.<lambda>.  rS  r'   c                 "    t          | |          S r9   rU  rR  s     r%   r$  zTestIndex.<lambda>/  rV  r'   c                 4   t          |t                    rd S |j        sd S t          j        t          |          ddt          j                  }|j        rt          g           }n}t          |j
                  r|                    ||j
                  }nLt          |          t          u r'|j
        t          k    rt          ||j
                  }nt          |          }|                     |||                    }t          j        ||           d S )Nr   rY   )rK   r   	is_uniquer?   aranger   r   r   r   r
   rZ   _constructorr  r\   r,  r:   rA   )r$   r*   rJ  requestrngrk   r`   s          r%   test_map_dictlikezTestIndex.test_map_dictlike+  s    e-.. 	F 	FiE

Ar:::; 		"RyyHHek** 	"))#U[)AAHH%[[E!!ekV&;&;S444HHSzzH66(E2233
fh/////r'   )r          @r3  )r   r   r]  r*   r   rd  r3  c                     t          dt          j        dg          }t          g d                              |          }t	          j        ||           d S )Nrd  r   )r   r   r   r   r?   rz   r,  r:   rA   )r$   rJ  rk   r`   s       r%   )test_map_with_non_function_missing_valuesz3TestIndex.test_map_with_non_function_missing_valuesK  sR     #rvu-..yyy!!%%f--
h/////r'   c                     t          dt          j        dt          j        dg          }|                    d d          }|dz  }t	          j        ||           d S )Ng      ?rQ   ro   c                     | dz  S )Nr   r   r"  s    r%   r$  z1TestIndex.test_map_na_exclusion.<locals>.<lambda>Y  s
    QU r'   ignore)	na_actionr   rg  r.  s       r%   test_map_na_exclusionzTestIndex.test_map_na_exclusionV  sW    sBFArvq122??h??19
fh/////r'   c                     t          g d          }t          d           }d|d<   |                    |          }t          g d          }t          j        ||           d S )Nr   c                      dS )Nblankr   r   r'   r%   r$  z0TestIndex.test_map_defaultdict.<locals>.<lambda>_  s    7 r'   stuffr   )rq  rp  rp  )r   r   r,  r:   rA   )r$   r*   default_dictr`   rk   s        r%   test_map_defaultdictzTestIndex.test_map_defaultdict]  si    iii  "??33!Q<((44455
fh/////r'   zname,expected)r   r   )r2  Nc                     t          g d          }t          g d|          }|                    |          }|j        |k    sJ d S )Nr   rq   r   )r   r  rG   )r$   rG   rk   r   r   r`   s         r%   test_append_empty_preserve_namez)TestIndex.test_append_empty_preserve_namee  sT    Re$$$iiid+++U##{h&&&&&&r'   zindex, expected))r=   F)r   Fr   Fr   F)r   T)r   T)r   T)r   Tr   F)r{   T)r   Tc                 ,    t          |          |u sJ d S r9   )r	   r$   r*   rk   s      r%   test_is_numericzTestIndex.test_is_numericm  s#    $ )//8;;;;;;r'   ))r=   T)r   Trv  rw  )r   F)r   F)r   F)r   Frx  )r{   F)r   Fc                 ,    t          |          |u sJ d S r9   )r   rz  s      r%   test_is_objectzTestIndex.test_is_object  s#    $ u%%111111r'   c                 .    |                                  d S r9   )_summaryr5   s     r%   test_summaryzTestIndex.test_summary  s    r'   c                 6   t          j                    }t          |                              d          sBt	          |g          }|                                }t          |d                   g}||k    sJ t	          g                                            d S )N000r   )r   nowr   endswithr   format)r$   r  r*   	formattedrk   s        r%   test_format_bugzTestIndex.test_format_bug  s    
 lnn3xx  '' 	)3%LLEIE!HH((((b		r'   r   )r   y       @      @      @c                    t          |          }|                    |           t          |t                    }|                                }t          |t                    rdnt          |          }t          |d                   t          |d                   t          |d                   |g}||k    sJ |d         |u sJ d S )NrY   NaNr   r   r   rQ   )r"   r  r   r\   r  rK   ry   r   )r$   r   nulls_fixturer*   r  	null_reprrk   s          r%   test_format_missingzTestIndex.test_format_missing  s     DzzM"""d&))) LLNN	'u==UEE3}CUCU	aMM3uQx==#eAh--KH$$$$Qx=((((((r'   opanyallc                 |    |} t          ||                       t          |j        |                      k    sJ d S r9   )r   rM   )r$   r  r&   r*   s       r%   test_logical_compatzTestIndex.test_logical_compat  sE    !wub!!##'@wu|R'@'@'B'BBBBBBBr'   )r=   r   r   r{   r   c                    t          |          }|t          t          dd                             }|                    |          }|t          t          d                    t          t          d|                    z            }t	          j        ||           |                    |d                   }|dd          }t	          j        ||           d S )Nro   r   r   r   )r   r"   r   dropr:   rA   )r$   r*   nr  droppedrk   s         r%   test_drop_by_str_labelz TestIndex.test_drop_by_str_label  s     JJT%2,,''(**T""eAhh$uR||*<*<<=
gx000**U1X&&9
gx00000r'   keysr2  1c                     t          j        t          d          5  |                    |           d d d            d S # 1 swxY w Y   d S )N r0   )r2   r3   KeyErrorr  )r$   r*   r  s      r%   *test_drop_by_str_label_raises_missing_keysz4TestIndex.test_drop_by_str_label_raises_missing_keys  s    
 ]82... 	 	JJt	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ?AAc                    t          |          }|t          t          dd                             }|                                dgz   }|                    |d          }|t          t          d                    t          t          d|                    z            }t          j        ||           |                    ddgd          }|t          t          |                             }t          j        ||           d S )Nro   r   r   rk  errorsr2  )r   r"   r   tolistr  r:   rA   )r$   r*   r  r  mixedr  rk   s          r%   $test_drop_by_str_label_errors_ignorez.TestIndex.test_drop_by_str_label_errors_ignore  s     JJT%2,,''('**U8*44eAhh$uR||*<*<<=
gx000**eU^H*==eAhh(
gx00000r'   c                     t          g d          }|                    d          }t          ddg          }t          j        ||           d S )Nr   r   r   rQ   r   r  r:   rA   )r$   r*   r  rk   s       r%   test_drop_by_numeric_label_locz(TestIndex.test_drop_by_numeric_label_loc  sJ    iii  **Q--!Q==
gx00000r'   c                     t          g d          }t          j        t          d          5  |                    ddg           d d d            d S # 1 swxY w Y   d S )Nr   r  r0   rQ   r   )r   r2   r3   r  r  r5   s     r%   .test_drop_by_numeric_label_raises_missing_keysz8TestIndex.test_drop_by_numeric_label_raises_missing_keys  s    iii  ]82... 	 	JJ1v	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAzkey,expectedr   r   )rQ   r   ro   c                     t          g d          }|                    |d          }t          j        ||           d S )Nr   rk  r  r  )r$   r+   rk   r*   r  s        r%   (test_drop_by_numeric_label_errors_ignorez2TestIndex.test_drop_by_numeric_label_errors_ignore  sC     iii  **S*22
gx00000r'   )r   r   r   r   )r   r  r   )r  r   r   to_dropr  c                    t          |          }t          dg          }|                    |          }t          j        ||           |                    |d                   }|d         |d         gfD ],}|                    |          }t          j        ||           -|                    |d                   }dt	          j        |d                                                    d}|d         |d         gfD ]J}t          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   Kd S )Nr   r   r   z\"\[z\] not found in axis\"r0   )
r   r  r:   rA   r   r   __repr__r2   r3   r  )	r$   rM   r  r*   rk   r`   removeddrop_mer   s	            r%   test_drop_tuplezTestIndex.test_drop_tuple  s~    f#<<G$$
fh///**WQZ((qzGAJ</ 	4 	4G\\'**F!&(3333**WQZ((Nbi
 3 3 5 566NNNqzGAJ</ 	& 	&Gxs333 & &W%%%& & & & & & & & & & & & & & &	& 	&s   D>>E	E	c                 |   t          |          dk    st          |t                    rd S t          |t                    rt          st          j        d           |                                                    d          }|dd          }|	                    |d                   }t          j        ||           d S )Nr   z=Cannot test IntervalIndex with int64 dtype on 32 bit platformr   )r   rK   r   r   r   r2   skipuniquerepeatr  r:   rA   r$   r*   rk   r`   s       r%   "test_drop_with_duplicates_in_indexz,TestIndex.test_drop_with_duplicates_in_index  s    u::??j
;;?Fe]++ 	YD 	YKWXXX%%a((9E!H%%
fh/////r'   is_monotonic_increasingis_monotonic_decreasing!_is_strictly_monotonic_increasing!_is_strictly_monotonic_decreasingc                 p    t          dt          j                    dg          }t          ||          rJ d S )Nro      )r   r   r  r   )r$   r   r*   s      r%   test_is_monotonic_incomparablez(TestIndex.test_is_monotonic_incomparable  s:     q(,..!,--5$'''''''r'   )r   r2  quux>   r2  r   r  index,expected)quxr3  r   r2  FFTTrY   c                 Z    |                     |          }t          j        ||           d S r9   )isinr:   rL   )r$   rM   r*   rk   r`   s        r%   	test_isinzTestIndex.test_isin'  s.     F##
#FH55555r'   c                    t          |t                    rt          |t                    rvt          j        |          rbt          j        |          rNt	          j        t          d|g                              |g          t          j	        ddg                     d S ||u rNt	          j        t          d|g                              |g          t          j	        ddg                     d S t	          j        t          d|g                              |g          t          j	        ddg                     d S )Nr   FT)
rK   ry   mathisnanr:   rL   r   r  r?   r@   )r$   r  nulls_fixture2s      r%   test_isin_nan_common_objectz%TestIndex.test_isin_nan_common_object3  sT    }e,,	>511	 
=))	 
>**		 'sM*++00.1ABB%''    
 n,,'sM*++00.1ABB%''     'sM*++00.1ABB%((    r'   c                    |}|t           j        u s|t           j        u rdt          t	          |          j                   }t          j        t          |          5  t          d|g|           d d d            n# 1 swxY w Y   t          dt          j        g|          }|                    |g                                          rJ d S t          d|g|          }|                    t          j        g          }t          j        |t          j        ddg                     |                    t           j        g          }t          j        |t          j        ddg                     d S )Nz=float\(\) argument must be a string or a (real )?number, not r0         ?rY   FT)r]   NaTNAreprr  __name__r2   r3   r   r   r?   rz   r  r  r:   rL   r@   )r$   r  float_numpy_dtyperZ   r   idxress          r%   test_isin_nan_common_float64z&TestIndex.test_isin_nan_common_float64O  s   !BF""mru&<&<<D//899< <  y444 9 9sM*%88889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 bfU333Cxx004466666FS-(666hhx  
#C5$-)@)@AAA hhx  
#C5%.)A)ABBBBBs   A>>BBlevelr   r]  )r  rd  r   r  c                 (   |                                 dd          dgz   }t          j        g d          }t          j        ||                    ||                     d|_        t          j        ||                    |d                     d S )Nnonexistingr  r  r   )r  r?   r@   r:   rL   r  rG   )r$   r  r*   rM   rk   s        r%   test_isin_level_kwargzTestIndex.test_isin_level_kwargh  s     $6866677
#Hejjuj.M.MNNN

#Hejjxj.P.PQQQQQr'   c                     d|j         |j         dz    fD ]L}t          j        t          d          5  |                    g |           d d d            n# 1 swxY w Y   Md S )Nr   r   zToo many levelsr0   r  )nlevelsr2   r3   r  r  )r$   r*   r  s      r%   &test_isin_level_kwarg_bad_level_raisesz0TestIndex.test_isin_level_kwarg_bad_level_raisesy  s    %-5=1+<)=> 	, 	,Ez1BCCC , ,

2U
+++, , , , , , , , , , , , , , ,	, 	,s   AA	A	labelr  r   xyzzyc                 X   t          |t                    r.|                    ddg|j        dd          z             }d| d}n|                    d          }d| d}t	          j        t          |          5  |                    g |	           d d d            d S # 1 swxY w Y   d S )
Nr   r2  r   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r0   r  )rK   r   r   namesr2   r3   r  r  )r$   r  r*   r   s       r%   &test_isin_level_kwarg_bad_label_raisesz0TestIndex.test_isin_level_kwarg_bad_label_raises~  s    eZ(( 	TLL%%+abb/!ABBE.E...CCLL''ESSSSC]83/// 	( 	(JJrJ'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   :BB#&B#c                     t          ddg          }t          j        ddg          }|                    |          }t	          j        ||           d S )Nr   r   F)r   r?   r@   r  r:   rL   )r$   r   r*   rk   r`   s        r%   test_isin_emptyzTestIndex.test_isin_empty  sR     sCj!!8UEN++E""
#Hf55555r'   r   r   rQ   r   TTTT)r   r2  r3  r  z
2018-01-01c                     t          |          }||k    }t          j        g dt                    }t	          j        ||           d S )Nr  rY   )r   r?   r@   r   r:   rL   )r$   rM   r*   r`   rk   s        r%   test_boolean_cmpzTestIndex.test_boolean_cmp  sL     f&8444DAAA
#FH55555r'   z
name,levelr5  r   c                     |                                 }|r||_        |                    |          }t          j        ||           d S r9   )rI   rG   get_level_valuesr:   rA   )r$   r*   rG   r  rk   r`   s         r%   test_get_level_valueszTestIndex.test_get_level_values  sL     ::<< 	! HM**511
fh/////r'   c                 `    t          ddgd          }|j        |dd          j        k    sJ d S )Nr   r   asdfrq   r   r   rG   r5   s     r%   test_slice_keep_namezTestIndex.test_slice_keep_name  s;    sCjv...zU122Y^++++++r'   )r=   r   r   r   r   r   r{   r   c                 @    |                     ||          }||u sJ d S Nhow)join)r$   r*   	join_typejoineds       r%   test_join_selfzTestIndex.test_join_self  s*     Ey11r'   method)striprstriplstripc                     t          g d          }t          fd|j        D                       } t          |j                              }t	          j        ||           d S )N)z jackzjill z jesse frankc                 L    g | ] } t          t                    |          !S r   )r   r   )r   r#  r  s     r%   r'  z0TestIndex.test_str_attribute.<locals>.<listcomp>  s.    HHHa.'#v..q11HHHr'   )r   rM   r   r   r:   rA   )r$   r  r*   rk   r`   s    `   r%   test_str_attributezTestIndex.test_str_attribute  so     <<<==HHHH5<HHHII+F++--
fh/////r'   ro   r   )r   r  )r2  320002010)startendrR   c                     t          j        t          d          5  |j                            d           d d d            d S # 1 swxY w Y   d S )Nzonly use .str accessorr0   r   )r2   r3   AttributeErrorr   r  r5   s     r%   test_str_attribute_raisesz#TestIndex.test_str_attribute_raises  s     ]>1IJJJ 	  	 IQ	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   AAAzexpand,expectedNr   rN  fc                     t          g d          }||j                            |          }n|j                                        }t          j        ||           d S )N)za b czd er	  )expand)r   r   splitr:   rA   )r$   r  rk   r*   r`   s        r%   test_str_splitzTestIndex.test_str_split  s_     +++,,Y__F_33FFY__&&F
fh/////r'   c                     t          g d          }|j                            d          }t          j        g d          }t          j        ||           t          |t          j                  sJ d S )Na1a2b1b2r   )TTFF)	r   r   
startswithr?   r@   r:   rL   rK   ndarrayr.  s       r%   test_str_bool_returnzTestIndex.test_str_bool_return  sr    ...//%%c**866677
#FH555&"*-------r'   c                    t          g d          }t          t          d          |          }||j        j                            d                   }t          t          d          ddg          }t          j        ||           d S )Nr  r   re  r   r   r  r  )r   r   r   r*   r   r  r:   rt   )r$   r*   rl   r`   rk   s        r%   test_str_bool_series_indexingz'TestIndex.test_str_bool_series_indexing  s    ...//5885)))17;))#../%((4,777
vx00000r'   abcdc                 8    dt          |          v }||k    sJ d S )Nr   )dirr  s       r%   test_tab_completionzTestIndex.test_tab_completion   s+    
 #e**$!!!!!!r'   c                    t          g d          }|dd                             t          ddgt          j                            sJ |ddg                             t          ddgt          j                            sJ d S )N)r   r   rQ   r   r   r   r   rQ   r   rY   r   )r   r   r?   r_   r5   s     r%   !test_indexing_doesnt_change_classz+TestIndex.test_indexing_doesnt_change_class  s    ...//QqSz##E1a&
$C$C$CDDDDDaV}&&uaV2:'F'F'FGGGGGGGr'   c                 ,   t          t          j                            d                    }t	          j        d          }t	          j        t                    5  |                    |d          }d d d            n# 1 swxY w Y   t	          j        t                    5  |	                    t                                        |	                    t                              }d d d            n# 1 swxY w Y   t	          j        ||           d S )N   r   outerr  )r   r?   rr   permutationr:   r;  assert_produces_warningRuntimeWarningr  r[   r\   r  rA   )r$   
left_indexright_indexr`   rk   s        r%   test_outer_join_sortzTestIndex.test_outer_join_sort  sm   29004455
&r**'77 	? 	?__[g_>>F	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?
 '77 	S 	S"))&1177
8I8I&8Q8QRRH	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	fh/////s%   A>>BB"AC44C8;C8c                 ^   t          t          d          d          }|                    t          j        g d                    }t          t          d          d          }t          j        ||           |                    t          j        g d          d          }t          dd	t          j        gd          }t          j        ||           |                    t          j        g d          d
d          }t          g dd          }t          j        ||           d S )NABCxxxrq   )r   r   r]  BACT
fill_valuer   r   F)
allow_fillr-  )r   r   r   )r   r"   taker?   r@   r:   rA   rz   r.  s       r%   test_take_fill_valuezTestIndex.test_take_fill_value  s   d5kk...BHZZZ0011e5111
fh/// BHZZZ00TBB#sBF+%888
fh/// BHZZZ00UtTTu555
fh/////r'   c                    t          t          d          d          }d}t          j        t          |          5  |                    t          j        g d          d           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t          j        g d	          d           d d d            d S # 1 swxY w Y   d S )
Nr)  r*  rq   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r0   )r   r   r  Tr,  )r   r   )r   r"   r2   r3   r4   r/  r?   r@   r   s      r%    test_take_fill_value_none_raisesz*TestIndex.test_take_fill_value_none_raises-  sQ   d5kk...( 	
 ]:S111 	> 	>JJrx


++J===	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>]:S111 	> 	>JJrx


++J===	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>s#   ,A44A8;A8,CCCc                     t          t          d          d          }t          j        t          d          5  |                    t          j        ddg                     d d d            d S # 1 swxY w Y   d S )Nr)  r*  rq   zout of boundsr0   r   r2  )r   r"   r2   r3   r  r/  r?   r@   r5   s     r%   test_take_bad_bounds_raisesz%TestIndex.test_take_bad_bounds_raises9  s    d5kk...]:_=== 	* 	*JJrxB(()))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   *A11A58A5rG   labelsr   r   r   )r   r   r   20130101r   c                     t          g d          }||_        |                    |          d         j        |k    sJ d S )N)r   r   r   r   )r   rG   reindex)r$   rG   r6  r*   s       r%   8test_reindex_preserves_name_if_target_is_list_or_ndarrayzBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarray>  sG    " iii  
}}V$$Q',444444r'   c                     t          t          d                    }|                    |          d         j        j        t
          j        k    sJ d S Nabcr   )r   r"   r:  rZ   r  r?   r_   )r$   r6  r*   s      r%   <test_reindex_preserves_type_if_target_is_empty_list_or_arrayzFTestIndex.test_reindex_preserves_type_if_target_is_empty_list_or_arrayS  sG     d5kk""}}V$$Q'-2bj@@@@@@r'   zlabels,dtypec                     t          t          d                    }|                    |          d         j        j        |k    sJ d S r=  )r   r"   r:  rZ   r  )r$   r6  rZ   r*   s       r%   :test_reindex_doesnt_preserve_type_if_target_is_empty_indexzDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_indexY  sE     d5kk""}}V$$Q'-2e;;;;;;r'   c                     |}t          t          d                    }t          g |          }|                    |          d         j        |k    sJ d S )Nr>  rY   r   )r   r"   r:  rZ   )r$   any_real_numpy_dtyperZ   r*   r6  s        r%   Btest_reindex_doesnt_preserve_type_if_target_is_empty_index_numericzLTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_index_numericd  sY     %d5kk""r'''}}V$$Q'-666666r'   c           	         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    sJ d S )Nr>  r   r   )
r   r"   r:  r   r?   r   r{   r   rZ   r  )r$   r*   r`   s      r%   -test_reindex_no_type_preserve_target_empty_miz7TestIndex.test_reindex_no_type_preserve_target_empty_mim  s    d5kk""b"(++U2rz-B-BCb"XNN
 

 }Q%*bh6666}Q%*bj888888r'   c                     t          g dd          }t          g dd          }t          g dd          }|                    |d          \  }}t          j        ||           d S )Nr   r#  rq   r  r  )r   r:  r:   rA   )r$   r  idx2rk   r`   r   s         r%   test_reindex_ignoring_levelz%TestIndex.test_reindex_ignoring_levelu  sv    IIIC(((\\\,,,C000KKCK00	
fh/////r'   c                     t          t          d                    }|                    t          j        g d                    }t          ddg          t          g d          d}t          j        ||           d S )Nro   )r   r   r   r   r   r   r   )r   rQ   r   r   r   )r   r   groupbyr?   r@   r:   assert_dict_equalr.  s       r%   test_groupbyzTestIndex.test_groupby}  sn    eAhhrx8899aV}}yyy)9)9::
VX.....r'   zmi,expectedrK  r   ro   )r      c                     t          j        t          d          ddg          }|j        |k    }t	          j        ||           d S )Na,b,c
1,2,3
4,5,6r   r   	index_col)r]   read_csvr   r*   r:   rL   )r$   mirk   rv   r`   s        r%   test_equals_op_multiindexz#TestIndex.test_equals_op_multiindex  sI     ["788QFKKKR
#FH55555r'   c                     t          j        t          d          ddg          }|j        |j        k    }t	          j        ddg          }t          j        ||           d S )NrR  r   r   rS  T)r]   rU  r   r*   r?   r@   r:   rL   )r$   rv   r`   rk   s       r%   "test_equals_op_multiindex_identifyz,TestIndex.test_equals_op_multiindex_identify  s]    ["788QFKKKRX%8T4L))
#FH55555r'   rK  rO  )   	   r1  c                     t          j        t          d          ddg          }t          j        t
          d          5  |j        |k     d d d            d S # 1 swxY w Y   d S )NrR  r   r   rS  zLengths must matchr0   )r]   rU  r   r2   r3   r4   r*   )r$   r*   rv   s      r%   +test_equals_op_mismatched_multiindex_raisesz5TestIndex.test_equals_op_mismatched_multiindex_raises  s     ["788QFKKK]:-ABBB 	 	H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA!Ac                     t          j        g d          }t          g d          }||k    }t          j        g d          }t          j        ||           d S )NrZ  r1  )FFF)r   r-  r   r?   r@   r:   rL   )r$   rV  r*   r`   rk   s        r%   &test_equals_op_index_vs_mi_same_lengthz0TestIndex.test_equals_op_index_vs_mi_same_length  se    #$<$<$<==+++,,u811122
#FH55555r'   zdt_conv, arg
2000-01-01
2000-01-02z01:02:03z01:02:04c                 ^    t          |d          }|j         ||          j        k    sJ d S )Nr  rq   r  )r$   dt_convr   r*   s       r%   !test_dt_conversion_preserves_namez+TestIndex.test_dt_conversion_preserves_name  s:     c(((zWWU^^0000000r'   c                     t          g d          }t          j        t          d          5  d|_        d d d            d S # 1 swxY w Y   d S )Nr   zCan't set attributer0   F)r   r2   r3   r  r^  r5   s     r%   #test_cached_properties_not_settablez-TestIndex.test_cached_properties_not_settable  s    iii  ]>1FGGG 	$ 	$#EO	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   AA	Ac                 l  K   t          j        dd           ddlm} d}|                    |           d {V  t          j        d           5   |d          5  t          |j        	                    dd	                     d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
NIPythonz6.0.0)
minversionr   )provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])rk  zidx.r   )
r2   importorskipIPython.core.completerrk  run_coder:   r#  r"   	Completercompletions)r$   iprk  codes       r%   test_tab_complete_warningz#TestIndex.test_tab_complete_warning  sV      	I'::::??????<kk$ '-- 	: 	:%%h// : :R\--fa88999: : : : : : : : : : : : : : :	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s6   B))BB)B	B)B	B))B-0B-c                     t          |t                    r|                    d           d S dt          |          j         d}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   'z$' object has no attribute 'contains'r0   )rK   r   containsr  r  r2   r3   r  r   s      r%   test_contains_method_removedz&TestIndex.test_contains_method_removed  s    e]++ 	"NN1Pd5kk*PPPC~S999 " "q!!!" " " " " " " " " " " " " " " " " "s    BB
Bc                 r   t          g d          }t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    ddg           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    dg           d d d            n# 1 swxY w Y   t          g d	          }|                    dg          }t          j        |d
         |           t          g d	          }|                    d          }t          j        |d
         |           t          g d          }|                    d          }t          j        |d
         |           d S )N)ro   r   rQ   r   r   z(ascending must be a single bool value orr0   True)	ascendingz3ascending must be a list of bool values of length 1Tzascending must be a bool valuer   r   F)r   r2   r3   	Exception	sortlevelr:   rA   r  s       r%   test_sortlevelzTestIndex.test_sortlevel  s^   ooo&&]9,VWWW 	. 	.OOfO---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. ]R
 
 
 	4 	4 OOtTlO333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4
 ]9,LMMM 	0 	0OOvhO///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 ))D622
fQi222))400
fQi222))511
fQi22222s5   AAA6BB"BC%%C),C))r  
__module____qualname__r   r!   r2   fixturer&   r,   markparametrizer6   r<   rE   rN   r   r]   r   r   ra   rd   rm   rw   r}   r?   r{   rz   r   r  r   r   r   r   r   iterr   r   r   r   r   r   r   paramxfailr   r   r   r   r   r   r   r  r
  int_bool_r  r  r  r/  r:  r@  rI  rX  rc  r   rh  rm  rs  ru  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r@   r   r  r  r  r  r  r  r\   r  r  r  r  r  r   r   r:   r;  r-  r  r  r  r  r"   r  r  r'  r0  r3  r5  rM   r  r;  r   r?  
datetime64rA  rD  rF  rI  rN  rW  rY  r^  r`  ri   to_timedeltare  rg  r   rs  rw  r}  r   r'   r%   r   r   -   s       J^.e . . . ^.G G G
 [WzlTBB  CB- - - [Wxj4@@0 0 A@0 [Wxj4@@3 3 A@3 []T5M::[J"'   J)Q???Bxc1===LC;;;	
 3 3  ;: 3& [ 
-C|TTT  RsA>>>F\,S!<<<eD	

 
) )
 
)	0 	0 	0  ,0 0 0 [BJ',bf5	
 
0 
0 
0 [__e$263$g.3RV$e,	
 - - -
 [Vh%788[Wum&<==71 71 >= 9871r [Vh%788[Wun&=>>- - ?> 98- [Wr4488_____&EFF[		
    GF
 [[#&&&4[b,,,k:[Rs333[AZQ,ZA8RIII:V	
	 	 	 	 [	
 	
 	
 !   $ % $ [FLfk.?.?z.?.R.RSSS	
   
 
! !
 
! [###   
	' 	' 
	'E E E [Sz""EE///$:$:OOOL 7 7 7$ $ $$" " ".   [Wxj4@@/ / A@/* * * [NNN   
 [Wrw&9::7 7 ;: 7 [NNN   

 
 

6 6 60 0 0 A A A [JJJ 0 0 0V V V
 [GG77	
 0 0 0 [GG77	
 0 0 02 [	###:::	6	6	6Ecu8U8UV 0 0	 00 0 00 0 0 [_~}.MNN' ' ON' [	
 	
 	
    "< <# "< [	
 	
 	
    "2 2# "2     [V&:&:&:OOO%LMM) ) NM) [TE5>22C C 32C [CCCd   
1 
1 
1 [CCCd    [VuensEl%CDD  ED  [CCCd   1 1 11 1 1  
 [!UU999--.EE1a&MM0JK 1 1 1 [			!7!7!79O9O9OP  [Y*c):S*<M(NOO& & PO	 
&&	0 	0 	0 [	
 	
 	
 ( ( ( [X(>(>(>@V@V@V'WXX[U///00("(;U;U;U2V2VWU2YY40001	
 6 6  YX6  8C C C2 [Wq"g..[E...//E&&&bj999	
 R R  /.R, , ,
 [WsHgrv&FGG( ( HG( [Wr66+?+?+?"&NOO6 6 PO6 [LL   $$$(((J|#q999	
	 	6 6	 	6 [Wxj4@@[\Iz+BCC0 0 DC A@0, , , [		
 		
 		
       [X'D'D'DEE0 0 FE0 [E%%((OOBR  "J"L,#?@@Lv6<<<		
       [55///C:u=>>?EE???S#J>??@&
&$sC&83:OP 		
 0 0 0. . .1 1 1 [EE$$v,,//6uuQxx%8PQ " " "
H H H0 0 00 0 0"
> 
> 
>* * *
 [VdH%566[BHRLLOOOOBH___%%BH___%%Jz1---4Jz1---4466
	
 5 5  765 [XHBHRLL("(2RX:V:V:V'WXXA A YXA
 []2.	
 < < <
7 7 79 9 90 0 0/ / / [#Z#VV$455xrxt7M7MN#Z#VV$455xrxu7N7NO	
 6 6 66 6 6 ["J"#;#;#;<<E'''((	
   6 6 6 [^lL9:_z:67	
 1 1 1
$ $ $
 Z\\: : \:" " "3 3 3 3 3r'   r   c                   t   e Zd ZeZej        defd            Z ej        g dgdg          d             Zd Z	d Z
d	 Zd
 Zd Z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                                     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()           eg d'd()          f eg d*d()           eg d'd()          fg          d+                         Zd, Zej                            d- eej        g           eej        d.g           ed.d/ej        g           ed0d1ej        g           ej        d2g           ej        d2d3g           ej        g d4           ej        d5d2g          g          d6             Zd7 Zd8 Z ej        !                    d9          d:             Z"dS );TestMixedIntIndexr   c                 0    |                      g d          S )Nr   r   r   r   r   r   )r!   r#   s    r%   r&   zTestMixedIntIndex.simple_index  s    777888r'   r  
mixedIndex)paramsidsc                 *    t          |j                  S r9   )r   r  )r$   ra  s     r%   r*   zTestMixedIntIndex.index  s    W]###r'   c                     |}t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S Nz'>|<' not supportedr0   )r2   r3   r   argsortr$   r&   r*   s      r%   test_argsortzTestMixedIntIndex.test_argsort   s    ]9,ABBB 	 	MMOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   A  AAc                     |}t          j        t          d          5  t          j        |           d d d            d S # 1 swxY w Y   d S r  )r2   r3   r   r?   r  r  s      r%   test_numpy_argsortz$TestMixedIntIndex.test_numpy_argsort  s    ]9,ABBB 	 	Ju	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	r  c                 `   |} t          |          |dd          } t          |          |d          }||usJ t          j        ||           |j        dk    sJ |j        dk    sJ t	          d|          }t	          d|d d	                   }||z  }|j        j        dk    sJ d S )
NTmariorH   Fr   r   re  rQ   r]  )r  r:   rA   rG   r   r*   )r$   r&   r*   firstseconds1s2s3s           r%   test_copy_namez TestMixedIntIndex.test_copy_name
  s     UE7;;;eU/// F""""
eV,,,zW$$$${g%%%%AU###AVCRC[)))"Wx}''''''r'   c                    t          ddgd          }|                                }t          j        ||           |                    d          }t          j        ||d           |j        dk    sJ |j        dk    sJ d S )Nr   r   MyNamerq   NewNameF)check_names)r   rI   r:   rA   rG   )r$   r*   index1index2s       r%   test_copy_name2z!TestMixedIntIndex.test_copy_name2   s     q!f8,,,
eV,,,++
eV????zX%%%%{i''''''r'   c                     t          dt          j        ddgd          }t          dt          j        dgd          }|                                }t	          j        ||           d S )Nr   r   my_indexrq   )r   r?   rz   r  r:   rA   )r$   r  rk   r`   s       r%   test_unique_naz TestMixedIntIndex.test_unique_na-  s_    Q1%J777!RVQj999
fh/////r'   c                     |}|                                 |j                                         k    sJ |                                |j                                        k    sJ d S r9   )r  rM   r  r  s      r%   r  z%TestMixedIntIndex.test_logical_compat3  s[    yy{{el..000000yy{{el..00000000r'   r  r  r  rZ   Ncategoryzvals,expectedr   )r  rd  r   r  rd  r   r7  r   r   r   c                     t          ||          }|                    |          }t          ||          }t          j        ||           d S )NrY   r  )r   dropnar:   rA   )r$   r  rZ   r   rk   r*   r`   s          r%   test_dropnazTestMixedIntIndex.test_dropna8  sT     d%(((#&&///
fh/////r'   r  )r   
2011-01-02
2011-01-03r   r  r  )rU   2 days3 daysrU   r  r  )2012-022012-042012-05Mrh   )r  r  r  r  c                 \    |                     |          }t          j        ||           d S r  )r  r:   rA   )r$   r  r*   rk   r`   s        r%   test_dropna_dt_likez%TestMixedIntIndex.test_dropna_dt_likeK  s0    > #&&
fh/////r'   c                     d}t          j        t          |          5  t          g d                              d           d d d            d S # 1 swxY w Y   d S )Nzinvalid how option: xxxr0   r   r*  r  )r2   r3   r4   r   r  )r$   r   s     r%   test_dropna_invalid_how_raisesz0TestMixedIntIndex.test_dropna_invalid_how_raisesm  s    ']:S111 	/ 	/)))###...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   &AAAr*   r   r   r   r   r  ra  )ra  r  rb  z1 dayc                 ^    |j         du sJ |j        du sJ |j        du sJ |j        du sJ d S NFr  r5   s     r%   test_is_monotonic_naz&TestMixedIntIndex.test_is_monotonic_nar  sZ     ,5555,55556%????6%??????r'   c                     t          g dd          } |t          t          d                    |          }dt          |          v sJ d S )Nr   r   rq   rQ   re  0)r   r"   r   r  )r$   frame_or_seriesr*   r`   s       r%   test_int_name_formatz&TestMixedIntIndex.test_int_name_format  sU    oooA... eAhhu===d6ll""""""r'   c                     t          d t          d          D                       }d}t          j        t          |          5  t          |           d d d            d S # 1 swxY w Y   d S )Nc                 ,    g | ]}t          |          S r   )r   )r   r#  s     r%   r'  z>TestMixedIntIndex.test_str_to_bytes_raises.<locals>.<listcomp>  s    111!s1vv111r'   r   z2^'str' object cannot be interpreted as an integer$r0   )r   r   r2   r3   r   bytesr   s      r%   test_str_to_bytes_raisesz*TestMixedIntIndex.test_str_to_bytes_raises  s    11uRyy11122B]9C000 	 	%LLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A!!A%(A%z2ignore:elementwise comparison failed:FutureWarningc                     t          g d          }|dk    }t          j        g d          }t          j        ||           d S )N)r   )r   r   r   r   r  )FFT)r   r?   r@   r:   rL   )r$   r  r`   rk   s       r%   test_index_with_tuple_boolz,TestMixedIntIndex.test_index_with_tuple_bool  sQ    
 88899
"800011
#FH55555r'   )#r  r~  r  r   r!   r2   r  r&   r*   r  r  r  r  r  r  r  r  r\   r?   rz   r  r   r]   r  r   r   r  r  ri   r  r  r  r  filterwarningsr  r   r'   r%   r  r    sw        J^9e 9 9 9 ^9 V^4445L>JJJ$ $ KJ$  
  
( ( (,( ( (0 0 01 1 1
 [UUEN33[WtVZ&@AA[YY			"__ooo.3$ooo6__ooo.263$ooo6	
	 	0 0	 	 BA 430 [UUEN33[ HHHIIHHHII
 |\<PQQHHHII
 ===>>===>>
 (HbfMNN===>>
 ===CHHH===CHHH
 DDD3OOO===CHHH+	
 :0 0;  43<0/ / /
 [E26(OOE261+E1a.!!E3RV$%%BNE7##BNE<011BN>>>??BOWe,--		
 @ @ @# # #
   [ TUU6 6 VU6 6 6r'   r  c                   >   e Zd Zej                            dg dgd eg d          fg dgdg eg dd          fddgddggd edgddggd	d	gd	d
gg          fddgddggddg edgddggd	d	gd	d
ggddg          fg          d             Zd Z	d Z
d ZdS )TestIndexUtilszdata, names, expectedr   NrG   rq   r   r   r   r   r   L1L2)r  c                 P    t          ||          }t          j        ||           d S r9   )r   r:   rA   )r$   r|   r  rk   r`   s        r%    test_ensure_index_from_sequencesz/TestIndexUtils.test_ensure_index_from_sequences  s,    $ -T599
fh/////r'   c                 .   t          j        ddd          t          j        ddd          t          j        ddd          t          j        dd	d
          g}t          |          }t          |t                    }t          j        ||           d S )Nr   r   r   )closedr   r   rQ   neitherr   bothrY   )r]   Intervalr   r   r\   r:   rA   )r$   	intervalsr`   rk   s       r%   (test_ensure_index_mixed_closed_intervalsz7TestIndexUtils.test_ensure_index_mixed_closed_intervals  s     K1V,,,K1W---K1Y///K1V,,,	
	 i((&111
fh/////r'   c                     dt          j        t           j                  j        g}t	          |          }t          |          |k    sJ t          |d          }t          j        ||           d S )Nr   r   rY   )	r?   iinfor   maxr   r"   r   r:   rA   )r$   rM   r`   rk   s       r%   test_ensure_index_uint64z'TestIndexUtils.test_ensure_index_uint64  sl     RXbi((,-f%%F||v%%%%x000
fh/////r'   c                 l    t          g           }t          g           }t          j        ||           d S r9   )r   r   r:   rA   )r$   r`   rk   s      r%   test_get_combined_indexz&TestIndexUtils.test_get_combined_index  s3    $R((99
fh/////r'   )r  r~  r  r2   r  r  r   r   r  r  r  r  r   r'   r%   r  r    sG       [ii[$iii 0 01ii[6(EE)))&$A$A$ABsc3Z(
SEC:.!Q!Q0@AA sc3Z(t
SEC:.!Q!Q0@tUUU	
 "0 0# "0
0 
0 
0
0 
0 
00 0 0 0 0r'   r  opname)eqneleltgegtaddraddsubrsubmulrmultruedivrtruedivfloordiv	rfloordivpowrpowmoddivmodc                 L    d|  d} t          ||           }|j        | k    sJ d S )N__)r   r  )r  r*   r  s      r%   test_generated_op_namesr    s9    4 &___FUF##F?f$$$$$$r'   index_makerc                     t          j        t          d          5   | d           d d d            d S # 1 swxY w Y   d S )Nzunexpected keyword argumentr0   r2  )r   )r2   r3   r   )r  s    r%   ,test_index_subclass_constructor_wrong_kwargsr    s     
y(E	F	F	F                   r7   c                     d} t          j        t          |           5  t          t	          j        ddgt                    dd           d d d            n# 1 swxY w Y   t          j        t          |           5  t          t	          j        g d	d
          dd           d d d            n# 1 swxY w Y   t          j        t          |           5  t          ddddd           d d d            n# 1 swxY w Y   t          j        t          |           5  t          g ddd           d d d            d S # 1 swxY w Y   d S )Nz[Uu]nexpected keyword argumentr0   r   r   rY   testT)rG   fastpathr   r   r   ro   r   r   )	r2   r3   r   r   r?   r@   r\   r   r   )r   s    r%   test_deprecated_fastpathr    s|   
*C	y	,	,	, N NbhSz000vMMMMN N N N N N N N N N N N N N N 
y	,	,	, N Nbhyyy000vMMMMN N N N N N N N N N N N N N N 
y	,	,	, 8 81a$77778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 
y	,	,	, F FvEEEEF F F F F F F F F F F F F F F F F FsG   .AAA>)B33B7:B7C::C>C> EE	Ec                      t          g d          } t          j        t          d          5  | d d d f          d d d            d S # 1 swxY w Y   d S )N)r   r   r   rQ   r/   r0   )r   r2   r3   r4   )r  s    r%   test_shape_of_invalid_indexr    s     

C	z)E	F	F	F  AAAtG                 s   AAArZ   c                    d}t          j        d                              ddd          }t          j        t
          |          5  t          ||            d d d            n# 1 swxY w Y   t          |                    dd                    }t          j        t
          |          5  t          ||            d d d            n# 1 swxY w Y   t          dt          d                    }t          j        t
          |          5  t          j
        ddggdz  |           |_        d d d            d S # 1 swxY w Y   d S )	Nz Index data must be 1-dimensionalr[  r   r0   rY   r   r   rQ   )r?   r_  reshaper2   r3   r4   r   r   r   r   r@   r*   )rZ   r   rC   rv   sers        r%   test_validate_1d_inputr    s    -C
)A,,

q!Q
'
'C	z	-	-	-    c                              
3;;q!$$	%	%B	z	-	-	-  b               E!HH

C	z	-	-	- 8 8Hq!fX\777	8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s6   A%%A),A).CCC"D>>EEzklass, extra_kwargsc                     g | ]	fd i g
S )c                 &    t          |           S r  )r   )r#  dtyps    r%   r$  z<listcomp>.<lambda>(  s    U1D))) r'   r   )r   r  s    @r%   r'  r'  (  s(    	T	T	T4))))2
.	T	T	Tr'   rR   Yc                      | t          t          j        dd                    fi |} | t          t	          dd                    fi |}t          j        ||d           d S )Ni  i  TrG  )
memoryviewr?   r_  r"   r   r:   rA   )r   extra_kwargsr`   rk   s       r%   test_construct_from_memoryviewr  $  sv     U:bid3344EEEEFuT%d++,,====H&($777777r'   r  c                    t          t          j        g          }t          j        dg          } | ||          }t	          j        ||            | ||                                          }t	          j        ||           d S r  )r   r?   rz   r@   r:   rL   rI   )r  r  rk   r`   s       r%   test_nan_comparison_same_objectr  5  sx     //Cx  HRS\\F111RSXXZZ  F11111r'   )?collectionsr   r   ior   r  operatorr   numpyr?   r2   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsr   pandas.core.dtypes.commonr	   r
   r   pandasr]   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr:   pandas.core.indexes.apir   r   r   r   r   pandas.tests.indexes.commonr   r   r  r  r  r  r  index_subclass_makers_generatorr  r  r  r   r   r{   r  ALL_REAL_NUMPY_DTYPESr  r  r  r  r   r'   r%   <module>r     s   # # # # # #               				            + + + + + + 3 3 3 3 3 3                                                        - , , , , ,B3 B3 B3 B3 B3 B3 B3 B3J&g6 g6 g6 g6 g6 g6 g6 g6T10 10 10 10 10 10 10 10h    2% %3 2% (J(J(L(LMM  NMF F F	 	 	 429bj"IJJ8 8 KJ8$ 		T	T2;S	T	T	T 
 
	
 
vsm$	 	8 8	 	8 X[9::	2 	2 ;:	2 	2 	2r'   