
    Owg                     r    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c mZ d dlmZmZmZ d dlZd dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z# d dl$m%Z& d d	l'm(Z(m)Z)m*Z*m+Z+m,Z,  G d
 d      Z- G d d      Z. G d d      Z/e
j`                  jc                  dg d      d        Z2e
j`                  jc                  d eedg       eedg       eedg       ee dg       ee e3d             ee ejh                  d d      g       ee(dge5       ee)dgd g      g      d        Z6d Z7d Z8e
j`                  jc                  dde	jr                  e	jt                  e	jv                  g      d        Z<e
j`                  jc                  d e(i gge&jz                  D   cg c]	    fd!i g c} ei ge i ged"d#ig      d$        Z>e
j`                  jc                  d%ej~                  ej                  g      d&        ZA ej                  d'      d(        ZCyc c} w ))    )defaultdict)datetime)partialN)IS64)InvalidIndexError)is_any_real_numeric_dtypeis_numeric_dtypeis_object_dtype)CategoricalIndex	DataFrameDatetimeIndexIntervalIndexPeriodIndex
RangeIndexSeriesTimedeltaIndex
date_rangeperiod_rangetimedelta_range)Index
MultiIndex_get_combined_indexensure_indexensure_index_from_sequencesc                      e Zd Zej                  defd       Zd Zej                  j                  ddgd      d        Z
d	 Zej                  j                  dd
gd      d        Zd Zej                  j                  dddg      ej                  j                  d eddddd       eddd       eddd       eddd      g      d               Zej                  j                  d edddd      df eddd      df eddd      dfg      d        Zd Zd Zd Zej                  j                  deej.                  ej0                  fed ej6                  fg      d!        Zej                  j                  d"g d#d$fd%ej0                  d&d'gd(fd)d*d+ej0                  gd,fg      d-        Zej                  j                  d.d/d0g      ej                  j                  d1eeg      d2               Zej                  j                  d.d/d0g      ej                  j                  d1eeg      d3               Z ej                  j                  d4g  e!g       d5 d6D        g      ej                  j                  d1ee"eeg      d7               Z#ej                  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                  j                  dg dBd      dC        Z(ej                  j                  dd
 ejR                  dDej                  jU                  dEF      G      dHdIdJgd      dK        Z+ej                  j                  dg dLd      dM        Z,dN Z-ej                  j                  dO edPdQg       eg dR      g dSg      dT        Z.dU Z/dV Z0dW Z1ej                  j                  dd
gd      dX        Z2dY Z3ej                  j                  dg dZd      ej                  j                  d[e4ejj                  g      d\               Z6ej                  j                  dg dZd      d]        Z7d^ Z8d_ Z9d` Z:ej                  j                  d edaddb       edaddb       edcdbd      g      de        Z;df Z<ej                  j                  dgdh di g      dj        Z=ej                  j                  dgdk dl g      ej                  j}                  dm      dn               Z?ej                  j                  dg e@g dog dpq      drdsdtdpg      du        ZAdv ZBdw ZCej                  j                  dxdydzg      d{        ZDej                  j                  d|g d}dg      d~        ZEej                  j                  d|g ddg      d        ZFd ZGd ZHej                  j                  dg dg dSg      d        ZIej                  j                  dddg      d        ZJej                  j                  dg dd      d        ZKej                  j                  dg dd      ej                  j                  ddrdgddgg      d               ZLej                  j                  dg dd      d        ZMd ZNd ZOej                  j                  dd eg d      fg d ed;d=g      fg      d        ZPej                  j                  d/g dg dg dg      ej                  j                  dddPgdPdgg      d               ZQej                  j}                  dm      d        ZRej                  j                  d.g d      d        ZSej                  j                  d/g dh dg      ej                  j                  d eg d       ej                  g d      f eg        ej                  g eU      fg      d               ZVd ZWd ZXej                  j                  dddg      ej                  j                  d eg d       eg dej.                        g      d               ZYd ZZej                  j                  ddddej0                  g      d        Z[ej                  j                  dJg  e@e\       ej                  g       g      d        Z] e^j                  d      d        Z`ej                  j                  d/g dg dg dg d eddd      g      d        Zaej                  j                  dd
gd      ej                  j                  dddg      d               Zbd Zcej                  j                  dg d¢d      dÄ        Zdej                  j                  dg dŢ      dƄ        Zeej                  j                  d e efdǫ             edadbd       e&j                  ddg       eddd̬ͫ      g      d΄        Zhej                  j                  dd eg dSddgdgg      fd eg dSddgdgg      fd e&j                  dSddej0                  fdej0                  ej0                  fg      fg      dԄ        ZidՄ Zjdք Zkej                  j                  d e eld׫            df e efd            dfg      d؄        Zmdل Zndڄ Zodۄ Zpd܄ Zqd݄ Zrej                  j                  dddg      ej                  j                  dg  ej                  g       g dg d ej                  g d       ej                  g d       eddd      j                   eddd      j                         g      d               Zuej                  j                  dg  ej                  g        ej                  g ej                        g      d        Zwej                  j                  d eg       ej                  fg      d        Zyd Zzd Z{d Z|d Z}ej                  j                  d e&j                  ddg       ej                  ddg      f e&j                  ddg       ej                  ddg      fg      d        Z~d Zej                  j                  d e&j                  g d       eg d      g      d        Zd Zej                  j                  dej                  ddgfej                  ddgfg      d        Zd Zd Zd Zd Zd Zej                  j                  d d;ej0                  dbdbdbdbgfd=ej0                  ej0                  dddgfdej0                  ej0                  ej0                  ddgfg      d        Zej                  j                  ddg dfd;g dfd=g dfg      d        Zy(	  	TestIndexreturnc                 *    t        t        d            S )Nabcde)r   listselfs    U/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexes/test_base.pysimple_indexzTestIndex.simple_index.   s    T']##    c                 <    |}|d   }|j                  |      du sJ y )Nr   T)$_can_hold_identifiers_and_holds_name)r"   r$   indexkeys       r#   test_can_hold_identifiersz#TestIndex.test_can_hold_identifiers2   s)    Ah99#>$FFFr%   r(   r   T)indirectc                 v    t        j                  t        d      5  |d d d f    d d d        y # 1 sw Y   y xY w)NMulti-dimensional indexingmatch)pytestraises
ValueErrorr"   r(   s     r#   test_new_axiszTestIndex.test_new_axis7   s3     ]]:-IJ 	$'N	 	 	   
/8c                 0    t        j                  ||       y N)tmassert_contains_allr3   s     r#   test_constructor_regularz"TestIndex.test_constructor_regular?   s    
ue,r%   stringc                     t        j                  |      }t        |      }t        j                  ||       t        j
                  ||       y r7   )nparrayr   r8   r9   assert_index_equal)r"   r(   arr	new_indexs       r#   test_constructor_castingz"TestIndex.test_constructor_castingB   s:     hhuo#J	
sI.
eY/r%   c                    t        t        d      d      }t        j                  |      }t        |dd      }t	        |t               sJ |j
                  dk(  sJ |r6t        j                  |j                  t        j                  |d             n t        j                  ||j                         d|d	<   |d	   dk7  sJ y )
NabcnamerE   TcopyrE   string[pyarrow_numpy]dtypeSOMEBIGLONGSTRINGr   )r   r    r=   r>   
isinstancerE   r8   assert_extension_array_equalvaluespdassert_numpy_array_equal)r"   using_infer_stringr(   r@   rA   s        r#   test_constructor_copyzTestIndex.test_constructor_copyJ   s    d5k/hhuo#Dv6	)U+++~~'''++  "((36M"N ''Y-=-=>$A|2222r%   cast_as_objFz2015-01-01 10:00D   z
US/EasternzGreen Eggs & Ham)freqperiodstzrE   )rW   rX   1 daysz
2015-01-01c                 
   |rCt        j                  t        d      5  t        |j	                  t
                    }d d d        nt        |      }t        j                  |       t        |t              r|j                  |j                  k(  sJ |rc|t        j                  d      z  }t        |t
              }|j                  t        j                  k(  sJ t        |      t        |      k(  sJ y y y # 1 sw Y   xY w)NzDtype inferencer.   2   )nanosecondsrJ   )r8   assert_produces_warningFutureWarningr   astypeobjectr?   rM   r   rY   rP   	TimedeltarK   r=   object_r    )r"   rT   r(   results       r#   "test_constructor_from_index_dtlikez,TestIndex.test_constructor_from_index_dtlikeY   s    " ++MARS 5u||F345 5 5\F
fe,e]+99((( "55uF3||rzz111F|tE{222  ,5 5s   C99Dzindex,has_tz)rW   rX   rY   c                     t        t        |            }t        j                  ||       |r|j                  |j                  k(  sJ y y r7   )r   r   r8   r?   rY   )r"   r(   has_tzrd   s       r#   #test_constructor_from_series_dtlikez-TestIndex.test_constructor_from_series_dtlike}   s@     ve}%
fe,99((( r%   c                     g d}t        |d      }t        t        j                  |            }t        |d      }t	        j
                  ||       y )Nz1-1-1990z2-1-1990z3-1-1990z4-1-1990z5-1-1990MSrW   )r   r   rP   to_datetimer8   r?   )r"   dtsexpectedsrd   s        r#   !test_constructor_from_series_freqz+TestIndex.test_constructor_from_series_freq   sE     K 402>>#&'qt,
fh/r%   c                    g d}t        |d      }t        t        j                  j	                  d      j                  d            }||d<   t        |d   d      }|st
        nd}|d   j                  |k(  sJ d|_        t        j                  ||       t        |d      }t        j                  |d   |       |s t        j                  |d         }|dk(  sJ y y )	Nrj   rk   rl      )   rV   dater;   rF   )r   r   r=   randomdefault_rngra   rK   rE   r8   r?   r   assert_series_equalrP   
infer_freq)r"   rR   rn   ro   dfrd   rK   rW   s           r#   'test_constructor_from_frame_series_freqz1TestIndex.test_constructor_from_frame_series_freq   s     K 40ryy,,Q/66v>?6
r&z50h&z5(((
fh/#F+
r&z84 "==F,D4<< "r%   c                     t         j                  g}t        |t         j                        }t        |d      }t	        j
                  ||       y )NrJ   float)r=   nanr   float64r8   r?   )r"   dataro   rd   s       r#   test_constructor_int_dtype_nanz(TestIndex.test_constructor_int_dtype_nan   s9    xRZZ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                  ||       y r7   )rK   r   r8   r?   r=   r>   )r"   klassrK   na_valna_listro   rd   s          r#   test_index_ctor_infer_nan_natz'TestIndex.test_index_ctor_infer_nan_nat   se     6">~~&&&w
fh/rxx()
fh/r%   z
vals,dtype   rs   rV      rt   intg?g@      @r}   ABCobjc                     t        ||      }|j                  |j                  |      }t        j                  ||       y )NrF   )r   _simple_newrO   r8   r?   )r"   valsrK   r(   rd   s        r#   test_constructor_simple_newz%TestIndex.test_constructor_simple_new   s6     d'""5<<7
fe,r%   attrrO   asi8r   c                    t        dd      }t        ||      }|j                  |      }|j                  }|d u}d}|dk(  r1t	        |      j                  |      }	t        j                  |	|       nW|t        u r/t        j                  t        d      5   |||       d d d        n  |||      }	t        j                  |	|       |dk(  rr|r?t        j                  t        |      5  t	        |      j                  |       d d d        nQt	        |      j                  |      }	t        j                  |	|       n  |||	      }	t        j                  |	|       |dk(  r:t	        t        |            j                  |      }	t        j                  |	|       n`|t        u r/t        j                  t        d      5   |||       d d d        n) |t        |      |      }	t        j                  |	|       |dk(  r|rHt        j                  t        |      5  t	        t        |            j                  |       d d d        y t	        t        |            j                  |      }	t        j                  |	|       y  |t        |      |	      }	t        j                  |	|       y # 1 sw Y   xY w# 1 sw Y   ixY w# 1 sw Y   xY w# 1 sw Y   y xY w)
N
2011-01-01rt   rX   z:Cannot use .astype to convert from timezone-naive dtype tor   zunexpected keywordr.   )rY   rJ   )r   getattrtz_localizerK   r   r8   r?   r   r0   r1   	TypeErrorr`   r    )
r"   tz_naive_fixturer   r   r(   argrK   errmsgrd   s
             r#    test_constructor_dtypes_datetimez*TestIndex.test_constructor_dtypes_datetime   sz    <3eT"!!"23 d*J6>"3'334DEF!!&%0e^y0DE 0c./0 0 3#34F!!&%06>]]9C8 5!#&--e45 5 's+2259%%fe43e,F!!&%06>"49-99:JKF!!&%0e^y0DE 0c./0 0 49)9:F!!&%06>]]9C8 ;!$s),33E:; ; 'tCy188?%%fe449E2F!!&%0I0 05 50 0; ;s0   J3,K K"$K3J= K
KK"c                    t        dd      }|j                  d       }|j                  }t        ||      } |||      }t	        j
                  ||        |t        |      |      }t	        j
                  ||       y )NrZ   rt   r   rJ   )r   
_with_freqrK   r   r8   r?   r    )r"   r   r   r(   rK   rO   rd   s          r#   !test_constructor_dtypes_timedeltaz+TestIndex.test_constructor_dtypes_timedelta  sq      !4  &%vU+
fe,tF|51
fe,r%   valuec              #       K   | ]  }|  y wr7    .0_s     r#   	<genexpr>zTestIndex.<genexpr>#  s     _Aa_   r   c                 J     ||      }t        ||      sJ t        |      rJ y r7   rM   len)r"   r   r   emptys       r#   test_constructor_emptyz TestIndex.test_constructor_empty#  s+     e%'''u:~:r%   zempty,klassrl   c              #       K   | ]  }|  y wr7   r   r   s     r#   r   zTestIndex.<genexpr>7  s     !r   r   )steprs   blueredlevelscodesc                 :    t        ||      sJ t        |      rJ y r7   r   )r"   r   r   s      r#   test_constructor_empty_specialz(TestIndex.test_constructor_empty_special2  s"     %'''u:~:r%   )r   r   float32int64int32periodrangerepeats	timedeltatuplesuint64uint32c                 &    |j                  d       y )Ni8)viewr3   s     r#   test_view_with_argszTestIndex.test_view_with_args@  s    & 	

4r%   categoricalzgh-25464reason)marksbool-object
bool-dtyper   c                    |j                   t        k(  r8d}t        j                  t        |      5  |j                  d       d d d        y |j                   dk(  r6t        j                  t        d      5  |j                  d       d d d        y d}t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)NzWhen changing to a larger dtyper.   r   r;   zYCannot change data-type for array of references|Cannot change data-type for object array|)rK   boolr0   r1   r2   r   NotImplementedErrorr   r"   r(   r   s      r#   'test_view_with_args_object_array_raisesz1TestIndex.test_view_with_args_object_array_raisesU  s     ;;$3Cz5 !

4 ! ![[H$2$? !

4 ! !<  y4 !

4 ! !! !! !! !s#   C	6C.C!	CC!C*)r   r   r   c                     |j                  d      }|j                  d       d|_        |j                  d      }|j                  dk(  sJ y )Nr   rt   foobar)r`   get_locrE   )r"   r(   casteds      r#   test_astypezTestIndex.test_astypep  sI     d# 	q 
d#{{h&&&r%   c                 V    t        g d      j                  t        g d            sJ y Nabcr   equalsr!   s    r#   test_equals_objectzTestIndex.test_equals_object  s     _%,,U?-CDDDr%   compr   r   )r   r   dr   c                 @    t        g d      j                  |      rJ y r   r   )r"   r   s     r#   test_not_equals_objectz TestIndex.test_not_equals_object  s      )006666r%   c                 r   t        g d      }t        g d      }|j                  |      sJ |j                  d      }|j                  |      sJ |j                  |      rJ |j                  d      }|j                  |      sJ t        g d      }t        g dd      }|j                  |      rJ y )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87uM<<####r%   c                    t        t        d            }|j                  |      sJ |j                  |j                         j                         j                         j                               sJ |j                  t        t        d                  rJ |j                  |j	                               rJ |j                  |j	                  d            rJ |j                  |d d        rJ |j                  t        j                  t        d                  rJ |j                  |j                               sJ |j                         }d|_        |j                  |      sJ |j                  |      sJ |j                  t        |j                              rJ t        j                  t        dd            }t        |d      }t        |d      }|j                  |      rJ y )N
   F)deepbobr      rH   )	r   r   is_r   rH   r=   r>   rE   rO   )r"   indind2r@   ind1s        r#   test_is_zTestIndex.test_is_  s{   E"Iwws||wwsxxz(--/446777775r+,,,77388:&&&773888/000773q6?""77288E"I./// wwsxxz"""xxz	wwt}}xx}}775,---hhuQ|$Su%Su%88D>!!>r%   c                 D   t        g d      }t        ddgt              }d}t        j                  t        |      5  |j                  |d          d d d        t        j                  t        t        j                  t        |                  5  |j                  |       d d d        t        j                  t        t        j                  t        |                  5  |j                  |       d d d        y # 1 sw Y   xY w# 1 sw Y   gxY w# 1 sw Y   y xY w)Nr   rs   rV   TFrJ   z$Cannot compare dtypes int64 and boolr.   r   )
r   ra   r0   r1   r   asofr   reescapestr)r"   leftrightr   s       r#    test_asof_numeric_vs_bool_raisesz*TestIndex.test_asof_numeric_vs_bool_raises  s    YtUm624]]9C0 	 IIeAh	  ]],BIIc%j4IJ 	IIe	 ]],BIIc$i4HI 	JJt	 		  	 	 		 	s#   C>D
#D>D
DDc                 &   t        j                  t        |      t              }d|ddd<   ||   }t	        |      D ]  \  }}|j                  |      |k(  rJ  |t        |         }t	        |      D ]  \  }}|j                  |      |k(  rJ  y )NrJ   Frt      rs   )r=   onesr   r   	enumerater   r    )r"   r(   
bool_index	sub_indexivals         r#   test_booleanindexzTestIndex.test_booleanindex  s    WWSZt4
"
1R6*%		* 	/FAs$$S)Q...	/ $z*+		* 	/FAs$$S)Q...	/r%   c                 V    |}|g d   }|D ]  }|||j                  |         k(  rJ  y )Nr   )r   )r"   r$   r(   slr  s        r#   
test_fancyzTestIndex.test_fancy  s;    9 	*A2::a=))))	*r%   )r;   r   r   r   r   r   r   rK   c                    |t         j                  u r@|r>|j                  dk(  r/|j                  t        j
                  j                  d             t        j                  g |      } t        |      g |j                        }|g    j                  |      sJ |t         j                  k(  r<t        j                  t        d      5  ||   j                  |      sJ 	 d d d        y ||   j                  |      sJ y # 1 sw Y   y xY w)Nr;   znumpy behavior is buggyr   rJ   zis deprecatedr.   )r=   bool_rK   applymarkerr0   markxfailr>   typer   r8   r^   r_   )r"   r(   rK   requestrR   	empty_arrempty_indexs          r#   test_empty_fancyzTestIndex.test_empty_fancy  s     BHH!3x8O 1 19R 1 STHHRu-	!d5k"EKK8Ry"";///BHH++MQ ?Y'11+>>>? ? #--k:::? ?s   DDc                 "   t        j                  g t         j                        } t        |      g |j                        }|g    j                  |      sJ d}t        j                  t        |      5  ||    d d d        y # 1 sw Y   y xY w)NrJ   z)arrays used as indices must be of integerr.   )	r=   r>   r   r  rK   r   r0   r1   
IndexError)r"   r(   
empty_farrr  r   s        r#   test_empty_fancy_raisesz!TestIndex.test_empty_fancy_raises  sv     XXb

3
!d5k"EKK8Ry"";///:]]:S1 	*	 	 	s   6BBc                    |}t        dd      }|j                  |      }|j                  |      }t        t        j                  ||j                  d                  }t        j                  ||       t        j                  ||       t        j                  ||       t        j                  ||       t        j                  ||       y )Nz
2019-01-01r   r   O)	r   unionr   r=   appendr`   r8   r?   r9   )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
KK
+	[['
5**;*;C*@AB
i2
j%0
ui0
uj1
z95r%   c                    t        t        j                  d      t        j                        }|j	                  d       }t        |D cg c]  }|f c}      }t        j                  ||       |j	                  d       }t        j                  |D cg c]	  }||dk(  f c}      }t        j                  ||       y c c}w c c}w )NrV   rJ   c                     | fS r7   r   xs    r#   <lambda>z0TestIndex.test_map_with_tuples.<locals>.<lambda>  s    aT r%   c                     | | dk(  fS Nr   r   r*  s    r#   r,  z0TestIndex.test_map_with_tuples.<locals>.<lambda>  s    aa[ r%   r   )	r   r=   aranger   mapr8   r?   r   from_tuples)r"   r(   rd   r  ro   s        r#   test_map_with_tupleszTestIndex.test_map_with_tuples	  s    
 biil"((3>*.11$./
fh/ 01))*F1AqAv;*FG
fh/ / +Gs   

CCc                     g d}t        j                  t        |g d            }|j                  d       }t	        j
                  |t        |             y )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   r1  zipr0  r8   r?   r   )r"   first_levelmulti_indexreduced_indexs       r#   test_map_with_tuples_miz!TestIndex.test_map_with_tuples_mi  sC     , ,,Si-HI#7
mU;-?@r%   
2020-01-01r   1 dayr   c                 r    t        dgdz        }|j                  d       }t        j                  ||       y )Nr   r   c                      yr.  r   r*  s    r#   r,  zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>+      r%   )r   r0  r8   r?   r"   r(   ro   rd   s       r#   %test_map_tseries_indices_return_indexz/TestIndex.test_map_tseries_indices_return_index!  s1     !r?;'
h/r%   c                     t        t        ddd      d      }|j                  d       }t        t	        j
                  dd	      d      }t        j                  ||d
       y )Nr>     h)rX   rW   hourlyrF   c                     | j                   S r7   )hourr*  s    r#   r,  zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>2  s
    !&& r%   r   rJ   Texact)r   r   r0  r   r=   r/  r8   r?   )r"   r#  rd   ro   s       r#   +test_map_tseries_indices_accsr_return_indexz5TestIndex.test_map_tseries_indices_accsr_return_index.  sT    "|Rc:

  012W5HE
fhd;r%   mapperc                 N    t        | |      D ci c]  \  }}||
 c}}S c c}}w r7   r9  rO   r(   er  s       r#   r,  zTestIndex.<lambda>9  #    C4F"GDAq1a4"G "G   !c                     t        | |      S r7   r   rO   r(   s     r#   r,  zTestIndex.<lambda>:      &"7 r%   c                     t        g d      }t        t        j                  d      t        j                        }|j	                   ||j
                  |            }t        j                  ||       y )Nr4  rV   rJ   )r   r=   r/  r   r0  rO   r8   r?   )r"   rN  ro   r(   rd   s        r#   test_map_dictlike_simplez"TestIndex.test_map_dictlike_simple6  sP     ./biil"((36(//59:
fh/r%   c                 N    t        | |      D ci c]  \  }}||
 c}}S c c}}w r7   rP  rQ  s       r#   r,  zTestIndex.<lambda>G  rS  rT  c                     t        | |      S r7   rV  rW  s     r#   r,  zTestIndex.<lambda>H  rX  r%   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 r   t        |t              rt        j                  d       n!|j                  st        j                  d       t        j                  t        |      ddt
        j                        }|j                  rt        g       }nzt        |j                        r|j                  ||j                        }nGt        |      t        u r+|j                  t        k7  rt        ||j                        }nt        |      }|j!                   |||            }t#        j$                  ||       y )NzTested in test_categoricalzCannot map duplicated indexr   rJ   )rM   r   r0   skip	is_uniquer=   r/  r   r   r   r   r	   rK   _constructorr  ra   r0  r8   r?   )r"   r(   rN  r  rngro   rd   s          r#   test_map_dictlikezTestIndex.test_map_dictlikeD  s     e-.KK45KK56iiE
Ar:;;RyHekk*))#U[[)AH%[E!ekkV&;S4HSzH6(E23
fh/r%   )r          @r6  )r   rs   r^  r(   r   rd  r6  c                     t        dt        j                  dg      }t        g d      j                  |      }t	        j
                  ||       y )Nrd  r   )rs   r   r   r   r=   r~   r0  r8   r?   )r"   rN  ro   rd   s       r#   )test_map_with_non_function_missing_valuesz3TestIndex.test_map_with_non_function_missing_valuesc  s>     #rvvu-.y!%%f-
h/r%   c                     t        dt        j                  dt        j                  dg      }|j                  d d      }|dz  }t	        j
                  ||       y )Ng      ?rV   rt   c                     | dz  S )Nrs   r   r*  s    r#   r,  z1TestIndex.test_map_na_exclusion.<locals>.<lambda>q  s
    QU r%   ignore)	na_actionrs   rg  r"   r(   rd   ro   s       r#   test_map_na_exclusionzTestIndex.test_map_na_exclusionn  sJ    sBFFArvvq12?h?19
fh/r%   c                     t        g d      }t        d       }d|d<   |j                  |      }t        g d      }t        j                  ||       y )Nr   c                       y)Nblankr   r   r%   r#   r,  z0TestIndex.test_map_defaultdict.<locals>.<lambda>w  rB  r%   stuffr   )rr  rq  rq  )r   r   r0  r8   r?   )r"   r(   default_dictrd   ro   s        r#   test_map_defaultdictzTestIndex.test_map_defaultdictu  sH    i "?3!Q<(45
fh/r%   zname,expected)r   r   )r5  Nc                     t        g d      }t        g d|      }d}t        j                  t        |      5  |j	                  |      }d d d        j
                  |k(  sJ y # 1 sw Y   xY w)Nr   rF   r   zDThe behavior of array concatenation with empty entries is deprecatedr.   )r   r8   r^   r_   r"  rE   )r"   rE   ro   r  r  r   rd   s          r#   test_append_empty_preserve_namez)TestIndex.test_append_empty_preserve_name}  sd    Re$id+T''SA 	([['F	({{h&&&	( 	(s   A&&A/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 y r7   )r   )r"   r(   ro   s      r#   test_is_numericzTestIndex.test_is_numeric  s    $ )/8;;;r%   ))r;   T)r   Trw  rx  )r   F)r   F)r   F)r   Fry  )r   F)r   Fc                 L    |r|j                   dk(  r|rd}t        |      |u sJ y )Nr;   F)rK   r
   )r"   r(   ro   rR   s       r#   test_is_objectzTestIndex.test_is_object  s,    $ %++"9hHu%111r%   c                 $    |j                          y r7   )_summaryr3   s     r#   test_summaryzTestIndex.test_summary  s    r%   c                    t        j                         }d}t        |      j                  d      sVt	        |g      }t        j                  t        |      5  |j                         }d d d        t        |d         g}|k(  sJ t        j                  t        |      5  t	        g       j                          d d d        y # 1 sw Y   ]xY w# 1 sw Y   y xY w)NIndex\.format is deprecated000r.   r   )	r   nowr  endswithr   r8   r^   r_   format)r"   r  r   r(   	formattedro   s         r#   test_format_bugzTestIndex.test_format_bug  s    
 lln,3x  '3%LE++ME +!LLN	+E!HH(((''SA 	"I	 	+ +
	 	s   C"CCCr   )r   y       @      @      @c                    t        |      }|j                  |       t        |t              }d}t	        j
                  t        |      5  |j                         }d d d        t        |t              rdn
t        |      }t        |d         t        |d         t        |d         |g}|k(  sJ |d   |u sJ y # 1 sw Y   axY w)	NrJ   r  r.   NaNr   r   rs   rV   )r    r"  r   ra   r8   r^   r_   r  rM   r}   r  )r"   r   nulls_fixturer(   r   r  	null_reprro   s           r#   test_format_missingzTestIndex.test_format_missing  s     DzM"d&) -''SA 	'I	''u=E3}CU	aM3uQx=#eAh-KH$$$Qx=(((	' 	's   B<<Copanyallc                     |} t        ||             }| t        |j                  |             k(  sJ  t        |j                         |             }t        |      t        |      k(  sJ y r7   )r   rO   	to_seriesr   )r"   r  r$   r(   r  r  s         r#   test_logical_compatzTestIndex.test_logical_compat  sg    !wub!#0wu||R02222.)2.0 DzT%[(((r%   )r;   r   r   r   r   c                 P   t        |      }|t        t        dd               }|j                  |      }|t        t        d            t        t        d|            z      }t	        j
                  ||       |j                  |d         }|dd  }t	        j
                  ||       y )Nrt   r   r   r   )r   r    r   dropr8   r?   )r"   r(   nr  droppedro   s         r#   test_drop_by_str_labelz TestIndex.test_drop_by_str_label  s     JT%2,'(**T"eAh$uR|*<<=
gx0**U1X&9
gx0r%   keysr5  1c                     t        j                  t        d      5  |j                  |       d d d        y # 1 sw Y   y xY w)N r.   )r0   r1   KeyErrorr  )r"   r(   r  s      r#   *test_drop_by_str_label_raises_missing_keysz4TestIndex.test_drop_by_str_label_raises_missing_keys  s3    
 ]]82. 	JJt	 	 	s	   7A c                    t        |      }|t        t        dd               }|j                         dgz   }|j	                  |d      }|t        t        d            t        t        d|            z      }t        j                  ||       |j	                  ddgd      }|t        t        |               }t        j                  ||       y )Nrt   r   r   rk  errorsr5  )r   r    r   tolistr  r8   r?   )r"   r(   r  r  mixedr  ro   s          r#   $test_drop_by_str_label_errors_ignorez.TestIndex.test_drop_by_str_label_errors_ignore  s     JT%2,'('**U8*4eAh$uR|*<<=
gx0**eU^H*=eAh(
gx0r%   c                     t        g d      }|j                  d      }t        ddg      }t        j                  ||       y )Nr   r   rs   rV   r   r  r8   r?   )r"   r(   r  ro   s       r#   test_drop_by_numeric_label_locz(TestIndex.test_drop_by_numeric_label_loc  s6    i **Q-!Q=
gx0r%   c                     t        g d      }t        j                  t        d      5  |j	                  ddg       d d d        y # 1 sw Y   y xY w)Nr   r  r.   rV   r   )r   r0   r1   r  r  r3   s     r#   .test_drop_by_numeric_label_raises_missing_keysz8TestIndex.test_drop_by_numeric_label_raises_missing_keys  s?    i ]]82. 	JJ1v	 	 	s   AAzkey,expectedr   r   )rV   r   rt   c                 p    t        g d      }|j                  |d      }t        j                  ||       y )Nr   rk  r  r  )r"   r)   ro   r(   r  s        r#   (test_drop_by_numeric_label_errors_ignorez2TestIndex.test_drop_by_numeric_label_errors_ignore  s0     i **S*2
gx0r%   )r   r   r   r   )r   r  r   )r  r   r   to_dropr  c                 @   t        |      }t        dgt              }|j                  |      }t        j                  ||       |j                  |d         }|d   |d   gfD ])  }|j                  |      }t        j                  ||       + |j                  |d         }dt        j                  |d   j                                d}|d   |d   gfD ]7  }t        j                  t        |      5  |j                  |       d d d        9 y # 1 sw Y   DxY w)Nr   rJ   r   r   z\"\[z\] not found in axis\"r.   )r   ra   r  r8   r?   r   r   __repr__r0   r1   r  )	r"   rO   r  r(   ro   rd   removeddrop_mer   s	            r#   test_drop_tuplezTestIndex.test_drop_tuple  s    f#f-G$
fh/**WQZ(qzGAJ</ 	4G\\'*F!!&(3	4 **WQZ(bii
 3 3 5677MNqzGAJ</ 	&Gxs3 &W%& &	&& &s   7DD	c                 \   t        |      dk(  st        |t              rt        j                  d       t        |t
              rt        st        j                  d       |j                         j                  d      }|dd  }|j                  |d         }t        j                  ||       y )Nr   z,Test doesn't make sense for empty MultiIndexz=Cannot test IntervalIndex with int64 dtype on 32 bit platformrs   )r   rM   r   r0   r_  r   r   uniquerepeatr  r8   r?   rC  s       r#   "test_drop_with_duplicates_in_indexz,TestIndex.test_drop_with_duplicates_in_index6  s     u:?j
;KKFGe]+DKKWX%%a(9E!H%
fh/r%   is_monotonic_increasingis_monotonic_decreasing!_is_strictly_monotonic_increasing!_is_strictly_monotonic_decreasingc                 `    t        dt        j                         dg      }t        ||      rJ y )Nrt      )r   r   r  r   )r"   r   r(   s      r#   test_is_monotonic_incomparablez(TestIndex.test_is_monotonic_incomparableB  s.     q(,,.!,-5$''''r%   )r   r5  quux>   r5  r   r  index,expected)quxr6  r   r5  FFTTrJ   c                 R    |j                  |      }t        j                  ||       y r7   )isinr8   rQ   )r"   rO   r(   ro   rd   s        r#   	test_isinzTestIndex.test_isinO  s"     F#
##FH5r%   c                    t        d|g      }t        |t              rvt        |t              rft        j                  |      rQt        j                  |      r<t        j                  |j                  |g      t        j                  ddg             y ||u r<t        j                  |j                  |g      t        j                  ddg             y |rK|j                  dk(  r<t        j                  |j                  |g      t        j                  ddg             y t        j                  |j                  |g      t        j                  ddg             y )Nr   FTr;   )r   rM   r}   mathisnanr8   rQ   r  r=   r>   rK   )r"   r  nulls_fixture2rR   idxs        r#   test_isin_nan_common_objectz%TestIndex.test_isin_nan_common_object[  s   
 S-() }e,>51

=)

>*''.)*%'
 n,''.)*%'
  CII$9''.)*%' ''.)*%(r%   c                    |}|t         j                  u s|t         j                  u rdt        t	        |      j
                         }t        j                  t        |      5  t        d|g|       d d d        t        dt        j                  g|      }|j                  |g      j                         rJ y t        d|g|      }|j                  t        j                  g      }t        j                  |t        j                   ddg             |j                  t         j                  g      }t        j                  |t        j                   ddg             y # 1 sw Y   xY w)Nz=float\(\) argument must be a string or a (real )?number, not r.         ?rJ   FT)rP   NaTNAreprr  __name__r0   r1   r   r   r=   r~   r  r  r8   rQ   r>   )r"   r  float_numpy_dtyperK   r   r  ress          r#   test_isin_nan_common_float64z&TestIndex.test_isin_nan_common_float64  s"   !BFF"mruu&<D/889:<  y4 9sM*%89 bffU3Cxx044666S-(6hhx 
##C5$-)@A hhx 
##C5%.)AB9 9s   #E!!E*levelr   r^  )r  rd  r   r  c                 
   |j                         dd  dgz   }t        j                  g d      }t        j                  ||j                  ||             d|_        t        j                  ||j                  |d             y )Nnonexistingr  r  r   )r  r=   r>   r8   rQ   r  rE   )r"   r  r(   rO   ro   s        r#   test_isin_level_kwargzTestIndex.test_isin_level_kwarg  sm     $68867
##Hejjuj.MN

##Hejjxj.PQr%   c                     d|j                   |j                   dz    fD ]9  }t        j                  t        d      5  |j	                  g |       d d d        ; y # 1 sw Y   FxY w)Nr   r   zToo many levelsr.   r  )nlevelsr0   r1   r  r  )r"   r(   r  s      r#   &test_isin_level_kwarg_bad_level_raisesz0TestIndex.test_isin_level_kwarg_bad_level_raises  sa    %--5==1+<)=> 	,Ez1BC ,

2U
+, ,	,, ,s   AA$	labelr  r   xyzzyc                 ,   t        |t              r*|j                  ddg|j                  dd  z         }d| d}n|j                  d      }d| d}t	        j
                  t        |      5  |j                  g |	       d d d        y # 1 sw Y   y xY w)
Nr   r5  rs   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r.   r  )rM   r   r   namesr0   r1   r  r  )r"   r  r(   r   s       r#   &test_isin_level_kwarg_bad_label_raisesz0TestIndex.test_isin_level_kwarg_bad_label_raises  s    eZ(LL%%++ab/!ABEE7+.CLL'E'w.RSC]]83/ 	(JJrJ'	( 	( 	(s   -B

Bc                     t        ddg      }t        j                  ddg      }|j                  |      }t	        j
                  ||       y )Nr   r   F)r   r=   r>   r  r8   rQ   )r"   r   r(   ro   rd   s        r#   test_isin_emptyzTestIndex.test_isin_empty  sB     sCj!88UEN+E"
##Hf5r%   pyarrowc                     t        ddgd      }|j                  d g      }t        j                  ddg      }t	        j
                  ||       y )Nr   r   rI   rJ   F)r   r  r=   r>   r8   rQ   rm  s       r#   test_isin_arrow_string_nullz%TestIndex.test_isin_arrow_string_null  sG     sCj(?@TF#88UEN+
##FH5r%   r   rs   rV   r   TTTT)r   r5  r6  r  z
2018-01-01c                     t        |      }||k(  }t        j                  g dt              }t	        j
                  ||       y )Nr  rJ   )r   r=   r>   r   r8   rQ   )r"   rO   r(   rd   ro   s        r#   test_boolean_cmpzTestIndex.test_boolean_cmp  s7     f&884DA
##FH5r%   z
name,levelr8  r   c                     |j                         }|r||_        |j                  |      }t        j                  ||       y r7   )rH   rE   get_level_valuesr8   r?   )r"   r(   rE   r  ro   rd   s         r#   test_get_level_valueszTestIndex.test_get_level_values  s9     ::< HM**51
fh/r%   c                 ^    t        ddgd      }|j                  |dd  j                  k(  sJ y )Nr   r   asdfrF   r   r   rE   r3   s     r#   test_slice_keep_namezTestIndex.test_slice_keep_name  s.    sCjv.zzU12Y^^+++r%   )r;   r   r   r   r   r   r   r   c                     |j                  ||      }|}|dk(  r|j                         }t        j                  ||       y )Nhowouter)joinsort_valuesr8   r?   )r"   r(   	join_typerd   ro   s        r#   test_join_selfzTestIndex.test_join_self  sA     Ey1++-H
fh/r%   method)striprstriplstripc           
          t        g d      }t        |j                  D cg c]  } t        t        |      |       c}      } t        |j                  |             }t	        j
                  ||       y c c}w )N)z jackzjill z jesse frank)r   rO   r   r  r8   r?   )r"   r  r(   r+  ro   rd   s         r#   test_str_attributezTestIndex.test_str_attribute  sb     <=5<<Ha.'#v.q1HI+F+-
fh/ Is   A7rt   )r   r  )r5  320002010Y)startendrW   c                     t        j                  t        d      5  |j                  j	                  d       d d d        y # 1 sw Y   y xY w)Nzonly use .str accessorr.   rs   )r0   r1   AttributeErrorr  r  r3   s     r#   test_str_attribute_raisesz#TestIndex.test_str_attribute_raises  s:     ]]>1IJ 	 IIQ	  	  	 s   AA
zexpand,expectedNr   rR  fc                     t        g d      }||j                  j                  |      }n|j                  j                         }t        j                  ||       y )N)za b czd er  )expand)r   r  splitr8   r?   )r"   r  ro   r(   rd   s        r#   test_str_splitzTestIndex.test_str_split  sI     +,YY__F_3FYY__&F
fh/r%   c                     t        g d      }|j                  j                  d      }t        j                  g d      }t        j                  ||       t        |t        j                        sJ y )Na1a2b1b2r   )TTFF)	r   r  
startswithr=   r>   r8   rQ   rM   ndarrayrm  s       r#   test_str_bool_returnzTestIndex.test_str_bool_return+  sT    ./%%c*8867
##FH5&"**---r%   c                     t        g d      }t        t        d      |      }||j                  j                  j                  d         }t        t        d      ddg      }t        j                  ||       y )Nr  r   re  r   rs   r  r  )r   r   r   r(   r  r  r8   rx   )r"   r(   rp   rd   ro   s        r#   test_str_bool_series_indexingz'TestIndex.test_str_bool_series_indexing4  s^    ./585)177;;))#./%(4,7
vx0r%   abcdc                 ,    dt        |      v }||k(  sJ y )Nr  )dirrC  s       r#   test_tab_completionzTestIndex.test_tab_completion<  s     
 #e*$!!!r%   c                     t        g d      }|dd j                  t        ddgt        j                              sJ |ddg   j                  t        ddgt        j                              sJ y )N)r   rs   rV   r   r   r   r   rV   rs   rJ   r   )r   r   r=   rc   r3   s     r#   !test_indexing_doesnt_change_classz+TestIndex.test_indexing_doesnt_change_classD  sa    ./Qqz##E1a&

$CDDDaV}&&uaV2::'FGGGr%   c                    t        t        j                  j                  d      j	                  d            }t        dd      }t        j                  t              5  |j                  |d      }d d d        t        j                  t              5  |j                  t              j                  |j                  t                    }d d d        t        j                         y # 1 sw Y   yxY w# 1 sw Y   ,xY w)Nrs      r>  r   r   r  r  )r   r=   rv   rw   permutationr   r8   r^   RuntimeWarningr  r`   ra   r!  r?   )r"   
left_indexright_indexrd   ro   s        r#   test_outer_join_sortzTestIndex.test_outer_join_sortJ  s    299003??CD
 r:''7 	?__[g_>F	? ''7 	S!((066{7I7I&7QRH	S 	fh/	? 	?	S 	Ss   C*8C6*C36C?c                 (   t        t        d      d      }|j                  t        j                  g d            }t        t        d      d      }t        j                  ||       |j                  t        j                  g d      d      }t        dd	t        j                  gd      }t        j                  ||       |j                  t        j                  g d      d
d      }t        g dd      }t        j                  ||       y )NABCxxxrF   )r   r   r^  BACT
fill_valuer   r   F)
allow_fillr.  )r   r   r   )r   r    taker=   r>   r8   r?   r~   rm  s       r#   test_take_fill_valuezTestIndex.test_take_fill_valueV  s    d5k.BHHZ01e51
fh/ BHHZ0TB#sBFF+%8
fh/ BHHZ0UtTu5
fh/r%   c                    t        t        d      d      }d}t        j                  t        |      5  |j                  t        j                  g d      d       d d d        t        j                  t        |      5  |j                  t        j                  g d	      d       d d d        y # 1 sw Y   VxY w# 1 sw Y   y xY w)
Nr*  r+  rF   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r.   )r   r   r  Tr-  )r   r   )r   r    r0   r1   r2   r0  r=   r>   r   s      r#    test_take_fill_value_none_raisesz*TestIndex.test_take_fill_value_none_raisesg  s    d5k.( 	
 ]]:S1 	>JJrxx
+J=	>]]:S1 	>JJrxx
+J=	> 	>	> 	>	> 	>s   )B2 )B>2B;>Cc                     t        t        d      d      }t        j                  t        d      5  |j                  t        j                  ddg             d d d        y # 1 sw Y   y xY w)Nr*  r+  rF   zout of boundsr.   r   r3  )r   r    r0   r1   r  r0  r=   r>   r3   s     r#   test_take_bad_bounds_raisesz%TestIndex.test_take_bad_bounds_raisess  sN    d5k.]]:_= 	*JJrxxB()	* 	* 	*s   'A""A+rE   labelsr   r   r   )r   r   r   20130101c                 r    t        g d      }||_        |j                  |      d   j                  |k(  sJ y )N)r   r   rs   r   )r   rE   reindex)r"   rE   r7  r(   s       r#   8test_reindex_preserves_name_if_target_is_list_or_ndarrayzBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarrayx  s7    " i 
}}V$Q',,444r%   c                     t        t        d            }|j                  |      d   j                  j                  |j                  j                  k(  sJ y NrD   r   r   r    r;  rK   r  )r"   r7  r(   s      r#   <test_reindex_preserves_type_if_target_is_empty_list_or_arrayzFTestIndex.test_reindex_preserves_type_if_target_is_empty_list_or_array  sD     d5k"}}V$Q'--22ekk6F6FFFFr%   zlabels,dtypec                     t        t        d            }|j                  |      d   j                  j                  |k(  sJ y r>  r?  )r"   r7  rK   r(   s       r#   :test_reindex_doesnt_preserve_type_if_target_is_empty_indexzDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_index  s:     d5k"}}V$Q'--22e;;;r%   c                     |}t        t        d            }t        g |      }|j                  |      d   j                  |k(  sJ y )NrD   rJ   r   )r   r    r;  rK   )r"   any_real_numpy_dtyperK   r(   r7  s        r#   Btest_reindex_doesnt_preserve_type_if_target_is_empty_index_numericzLTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_index_numeric  sE     %d5k"r'}}V$Q'--666r%   c           	         t        t        d            }|j                  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 y )NrD   r   r   )
r   r    r;  r   r=   r   r   r   rK   r  )r"   r(   rd   s      r#   -test_reindex_no_type_preserve_target_empty_miz7TestIndex.test_reindex_no_type_preserve_target_empty_mi  s    d5k"b"((+U2rzz-BCb"XN

 }}Q%%**bhh666}}Q%%**bjj888r%   c                     t        g dd      }t        g dd      }t        g dd      }|j                  |d      \  }}t        j                  ||       y )Nr   r+  rF   r  r  )r   r;  r8   r?   )r"   r  idx2ro   rd   r   s         r#   test_reindex_ignoring_levelz%TestIndex.test_reindex_ignoring_level  sL    IC(\,C0KKCK0	
fh/r%   c                     t        t        d            }|j                  t        j                  g d            }t        ddg      t        g d      d}t        j                  ||       y )Nrt   )r   r   rs   rs   rs   r   r   )rs   rV   r   r   rs   )r   r   groupbyr=   r>   r8   assert_dict_equalrm  s       r#   test_groupbyzTestIndex.test_groupby  sM    eAhrxx89aV}y)9:
VX.r%   zmi,expectedrL  r   rt   )r      c           	          t        ddgdgt        j                  ddgddggdd	g
            }|j                  |k(  }t	        j
                  ||       y )NrV   rQ  r   r   r   rs   rt   r   r   r  columnsr(   )r   r   from_arraysr(   r8   rQ   )r"   miro   rz   rd   s        r#   test_equals_op_multiindexz#TestIndex.test_equals_op_multiindex  sZ     FE((1a&1a&)9#sL
 R
##FH5r%   c           	          t        ddgdgt        j                  ddgddggdd	g
            }|j                  |j                  k(  }t	        j
                  ddg      }t        j                  ||       y )NrV   rQ  r   r   r   rs   rt   r   r   rS  rT  T)r   r   rV  r(   r=   r>   r8   rQ   )r"   rz   rd   ro   s       r#   "test_equals_op_multiindex_identifyz,TestIndex.test_equals_op_multiindex_identify  so    FE((1a&1a&)9#sL
 RXX%88T4L)
##FH5r%   rL  rP  )   	   r4  c           	          t        ddgdgt        j                  ddgddggdd	g
            }t        j                  t
        d      5  |j                  |k(   d d d        y # 1 sw Y   y xY w)NrV   rQ  r   r   r   rs   rt   r   r   rS  rT  zLengths must matchr.   )r   r   rV  r0   r1   r2   r(   )r"   r(   rz   s      r#   +test_equals_op_mismatched_multiindex_raisesz5TestIndex.test_equals_op_mismatched_multiindex_raises  sm     FE((1a&1a&)9#sL
 ]]:-AB 	HH	 	 	s   
A##A,c                     t        j                  g d      }t        g d      }||k(  }t        j                  g d      }t        j                  ||       y )Nr[  r4  )FFF)r   r1  r   r=   r>   r8   rQ   )r"   rR   rW  r(   rd   ro   s         r#   &test_equals_op_index_vs_mi_same_lengthz0TestIndex.test_equals_op_index_vs_mi_same_length  sF    ##$<=+,u8812
##FH5r%   zdt_conv, arg
2000-01-01
2000-01-02z01:02:03z01:02:04c                 `    t        |d      }|j                   ||      j                  k(  sJ y )Nr  rF   r  )r"   dt_convr   r(   s       r#   !test_dt_conversion_preserves_namez+TestIndex.test_dt_conversion_preserves_name  s,     c(zzWU^00000r%   c                     t        g d      }t        j                  t        d      5  d|_        d d d        y # 1 sw Y   y xY w)Nr   zCan't set attributer.   F)r   r0   r1   r
  r`  r3   s     r#   #test_cached_properties_not_settablez-TestIndex.test_cached_properties_not_settable  s7    i ]]>1FG 	$#EO	$ 	$ 	$s	   :Ac                 @   t        j                  dd       ddlm} d}|j	                  |       t        j                  d d      5   |d	      5  t        |j                  j                  d
d             d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)NIPythonz6.0.0)
minversionr   )provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])F)raise_on_extra_warningsrk  zidx.r   )
r0   importorskipIPython.core.completerrl  run_cellr8   r^   r    	Completercompletions)r"   iprl  codes       r#   test_tab_complete_warningz#TestIndex.test_tab_complete_warning  s    I':?<
D ''eL 	:%h/ :R\\--fa89:	: 	:: :	: 	:s$   	B&B7BB	BBc                     t        |t              r|j                  d       y dt        |      j                   d}t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   y xY w)Nr   'z$' object has no attribute 'contains'r.   )rM   r   containsr  r  r0   r1   r
  r   s      r#   test_contains_method_removedz&TestIndex.test_contains_method_removed  sa    e]+NN1d5k**++OPC~S9 "q!" " "s   A22A;c                    t        g d      }t        j                  t        d      5  |j	                  d       d d d        t        j                  t        d      5  |j	                  ddg       d d d        t        j                  t        d      5  |j	                  dg       d d d        t        g d	      }|j	                  dg      }t        j                  |d
   |       t        g d	      }|j	                  d      }t        j                  |d
   |       t        g d      }|j	                  d      }t        j                  |d
   |       y # 1 sw Y   #xY w# 1 sw Y   xY w# 1 sw Y   xY w)N)rt   r   rV   rs   r   z(ascending must be a single bool value orr.   True)	ascendingz3ascending must be a list of bool values of length 1Tzascending must be a bool valuer   r   F)r   r0   r1   	Exception	sortlevelr8   r?   rC  s       r#   test_sortlevelzTestIndex.test_sortlevel  s?   o&]]9,VW 	.OOfO-	. ]]R
 	4 OOtTlO3	4
 ]]9,LM 	0OOvhO/	0 )D62
fQi2)40
fQi2)51
fQi2+	. 	.	4 	4
	0 	0s#   EE*E6E'*E36E?c                     t        dt        j                  g      }|j                  d      d   }t        t        j                  dg      }t	        j
                  ||       y )Nr   first)na_positionr   )r   r=   r~   r~  r8   r?   r"   r  rd   ro   s       r#   test_sortlevel_na_positionz$TestIndex.test_sortlevel_na_position6  sK    QK 73A6"&&!%
fh/r%   zperiods, expected_results   r  c                     t        g d      }|j                  |      }t        |      }t        j                  ||       y )N)r   r  r  (   r\   )r   diffr8   r?   )r"   rX   expected_resultsr  rd   ro   s         r#   test_index_diffzTestIndex.test_index_diff=  s8     ()'")*
fh/r%   zdecimals, expected_resultsr  rd  r   )g333333?gffffff@g      @)gGz?g@gGz@c                     t        g d      }|j                  |      }t        |      }t        j                  ||       y )N)gX9v?g(\@gS@)r   roundr8   r?   )r"   decimalsr  r  rd   ro   s         r#   test_index_roundzTestIndex.test_index_roundM  s8     )*8$)*
fh/r%   )r  
__module____qualname__r0   fixturer   r$   r*   r  parametrizer4   r:   rB   rS   r   r   r   re   rh   rq   r{   r   r=   r   r~   r   rP   r  r   r   r   r   r   iterr   r   r   r   r   r   r   paramr  r   r   r   r   r   r   r  r  r  r   r  r  r  r'  r2  r=  rD  rM  rZ  filterwarningsrc  r   rh  rn  rt  rv  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r>   r   r  r  r  r  r  r  ra   r  td
skip_if_nor  r  r  r  r  r  r   r1  r  r  r  r  r    r  r!  r(  r1  r4  r6  rO   r  r<  r   r@  
datetime64rB  rE  rG  rJ  rO  rX  rZ  r_  ra  rm   to_timedeltarf  rh  ru  ry  r  r  r  r  r   r%   r#   r   r   -   sS   ^^$e $ $G
 [[WzlTB C- [[Wxj4@0 A03 [[]T5M:[["' )Q?H3:C;	
3 ; 3( [[ -C|T XC;UC,S!<eD	

)
)	0 00 [[BJJ',bff5	

0
0 [[e$2663$g.3RVV$e,	
--
 [[Vh%78[[Wum&<=71 > 971r [[Vh%78[[Wun&=>- ? 9- [[Wr48__&EF[[		
 G
 [[#&4b,k:Rs3[AQ,A8RI:V	
		 [[	
 !  $%$ [[FLLfkk.?.?z.?.RS	
   
!
!  [[#  
	'
	'E [[Sz"E/$:OL77$$". [[Wxj4@/ A/* [[N  
 [[WsBHHo6; 7; [[N  



60 A [[|#r:C<GR0	
00
< [[G7	
00 [[G7	
 [[ VW0 X0. [[	#:	6Ecu8UV0	000 [[_~}.MN' O' [[	
   "<#"< [[	
   "2#"2
$ [[V&:O%LM) N)  [[TE5>2) 3) [[Cd  
1
1 [[Cd   [[VuensEl%CD E [[Cd  111
 [[!U9-.E1a&M0JK11 [[	!79OP [[Y*c):S*<M(NO& P	
&& [[ VW	0 X	0 [[	
(( [[X(>@V'WX[[/0("((;U2VW2Y401	
6 Y6#JC2 [[Wq"g.[[./&bjj9	
R /R,
 [[WsHgrvv&FG( H( [[Wr6+?"&NO6 P6 R]]96 6 [[ $(|#q9	
	6	6 [[Wxj4@[[\Iz+BC0 D A0, [[		
   00 [[X'DE0 F0 [[%(O|R0"J""L,#?@v6<		
   [[5/C:u=>?E?S#J>?@&
&&$sC&83:OP		
00.1 [[E$v,/6uQx%8PQ""
H
00"
>*
 [[VdH%56[[BHHRLBHH_%BHH_%z1-44z1-446
	
5 75 [[XHBHHRL("((2RXX:V'WXG YG
 [[2.	
<<
790/ [[#Z##VV$45xrxxt7MN#Z##VV$45xrxxu7NO	

6
6	6 [["J""#;<'(	
6 [[^^lL9:__z:67	
11
$
:"320 [[#RR()R,-R01	
00 [[$  "#	
00r%   r   c                      e Zd Zej                  defd       Zd Zd Zd Z	d Z
d Zd Zej                  j                  d	d
dg      ej                  j                  ddedg      ej                  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                  j                  d	d
dg      ej                  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                  j                  d) eej"                  g       eej"                  d*g       ed*d+ej"                  g       ed,d-ej"                  g       ej4                  d.g       ej4                  d.d/g       ej4                  g d0       ej6                  d1d.g      g      d2        Zej                  j                  dg d3      ej                  j                  d4d5d6g      d7               Zd8 Zd9 Zej                  jA                  d:      d;        Z!y)<TestMixedIntIndexr   c                     t        g d      S )N)r   r   r   r   rs   r   r   r!   s    r#   r$   zTestMixedIntIndex.simple_indexb  s    -..r%   c                     |}t        j                  t        d      5  |j                          d d d        y # 1 sw Y   y xY wNz'>|<' not supportedr.   )r0   r1   r   argsortr"   r$   r(   s      r#   test_argsortzTestMixedIntIndex.test_argsortf  s4    ]]9,AB 	MMO	 	 	s	   8Ac                     |}t        j                  t        d      5  t        j                  |       d d d        y # 1 sw Y   y xY wr  )r0   r1   r   r=   r  r  s      r#   test_numpy_argsortz$TestMixedIntIndex.test_numpy_argsortk  s7    ]]9,AB 	JJu	 	 	s	   =Ac                 L   |} 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 y )
NTmariorG   Fr   rs   re  rV   r^  )r  r8   r?   rE   r   r(   )r"   r$   r(   r  seconds1s2s3s           r#   test_copy_namez TestMixedIntIndex.test_copy_namep  s     UE7;eU/ F"""
eV,zzW$$${{g%%%AU#AVCR[)"Wxx}}'''r%   c                    t        ddgd      }|j                         }t        j                  ||       |j                  d      }t        j                  ||d       |j                  dk(  sJ |j                  dk(  sJ y )Nr   rs   MyNamerF   NewNameF)check_names)r   rH   r8   r?   rE   )r"   r(   index1index2s       r#   test_copy_name2z!TestMixedIntIndex.test_copy_name2  su     q!f8,
eV,+
eV?zzX%%%{{i'''r%   c                     t        dt        j                  ddgd      }t        dt        j                  dgd      }|j                         }t	        j
                  ||       y )Nrs   r   my_indexrF   )r   r=   r~   r  r8   r?   )r"   r  ro   rd   s       r#   test_unique_naz TestMixedIntIndex.test_unique_na  sL    Q1%J7!RVVQj9
fh/r%   c                     |}|j                         |j                  j                         k(  sJ |j                         |j                  j                         k(  sJ y r7   )r  rO   r  r  s      r#   r  z%TestMixedIntIndex.test_logical_compat  sI    yy{ell..0000yy{ell..0000r%   r  r  r  rK   Ncategoryzvals,expectedr   r  r  rd  r   r8  r   r   r   c                     t        ||      }|j                  |      }t        ||      }t        j                  ||       y )NrJ   r  )r   dropnar8   r?   )r"   r  rK   r   ro   r(   rd   s          r#   test_dropnazTestMixedIntIndex.test_dropna  s<     d%(#&/
fh/r%   r  )r   
2011-01-02
2011-01-03r   r  r  )rZ   2 days3 daysrZ   r  r  )2012-022012-042012-05Mrl   )r  r  r  r  c                 T    |j                  |      }t        j                  ||       y )Nr  )r  r8   r?   )r"   r  r(   ro   rd   s        r#   test_dropna_dt_likez%TestMixedIntIndex.test_dropna_dt_like  s$    > #&
fh/r%   c                     d}t        j                  t        |      5  t        g d      j	                  d       d d d        y # 1 sw Y   y xY w)Nzinvalid how option: xxxr.   r   r+  r  )r0   r1   r2   r   r  )r"   r   s     r#   test_dropna_invalid_how_raisesz0TestMixedIntIndex.test_dropna_invalid_how_raises  s@    ']]:S1 	/)###.	/ 	/ 	/s   AAr(   r   rs   r   r   r  rb  )rb  r  rc  r?  c                     |j                   du sJ |j                  du sJ |j                  du sJ |j                  du sJ y NFr  r3   s     r#   test_is_monotonic_naz&TestMixedIntIndex.test_is_monotonic_na  sT     ,,555,,55566%???66%???r%   )f8zm8[ns]zM8[us]unique_firstTFc                     t        g d|      }|r1|j                  du sJ |j                  du sJ |j                  du sJ y |j                  du sJ |j                  du sJ |j                  du sJ y )N)Nr   r   rJ   F)r   r`  r  r  )r"   rK   r  r(   s       r#   test_is_monotonic_unique_naz-TestMixedIntIndex.test_is_monotonic_unique_na  s     l%0??e+++00E99900E99900E99900E999??e+++r%   c                 x    t        g dd      } |t        t        d            |      }dt        |      v sJ y )Nr   r   rF   rV   re  0)r   r    r   r  )r"   frame_or_seriesr(   rd   s       r#   test_int_name_formatz&TestMixedIntIndex.test_int_name_format  s4    oA. eAhu=d6l"""r%   c                     t        t        d      D cg c]  }t        |       c}      }d}t        j                  t
        |      5  t        |       d d d        y c c}w # 1 sw Y   y xY w)Nr   z2^'str' object cannot be interpreted as an integer$r.   )r   r   r  r0   r1   r   bytes)r"   r+  r(   r   s       r#   test_str_to_bytes_raisesz*TestMixedIntIndex.test_str_to_bytes_raises  sX    uRy1!s1v12B]]9C0 	%L	 	 2	 	s   A	A##A,z2ignore:elementwise comparison failed:FutureWarningc                     t        g d      }|dk(  }t        j                  g d      }t        j                  ||       y )N)r   )r   r   r   r   r  )FFT)r   r=   r>   r8   rQ   r  s       r#   test_index_with_tuple_boolz,TestMixedIntIndex.test_index_with_tuple_bool  s8    
 89
"8801
##FH5r%   )"r  r  r  r0   r  r   r$   r  r  r  r  r  r  r  r  ra   r=   r~   r  r   rP   r  r   r   r  r  rm   r  r  r  r  r  r  r  r   r%   r#   r  r  ^  s    ^^/e / /

(,(01
 [[UUEN3[[WtVZ&@A[[	"o.3$o6o.2663$o6	
	0	 B 40 [[UUEN3[[ HIHI
 |\<PQHI
 =>=>
 (HbffMN=>
 =CH=CH
 D3O=CH+	
:0; 4<0/
 [[266(O2661+1a.!3RVV$%BNNE7#BNNE<01BNN>?BOOWe,-		
@@ [[W&@A[[^dE];
, < B
,#
 [[ TU6 V6r%   r  c                       e Zd Zej                  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y)TestIndexUtilszdata, names, expectedr   NrE   rF   r   r   r   r   r   L1L2rS  c                 H    t        ||      }t        j                  ||       y r7   )r   r8   r?   )r"   r   r  ro   rd   s        r#    test_ensure_index_from_sequencesz/TestIndexUtils.test_ensure_index_from_sequences  s     $ -T5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                  ||       y )Nr   r   r  )closedrs   r  rV   neitherr   bothrJ   )rP   Intervalr   r   ra   r8   r?   )r"   	intervalsrd   ro   s       r#   (test_ensure_index_mixed_closed_intervalsz7TestIndexUtils.test_ensure_index_mixed_closed_intervals&  ss     KK1V,KK1W-KK1Y/KK1V,	
	 i(&1
fh/r%   c                     dt        j                  t         j                        j                  g}t	        |      }t        |      |k(  sJ t        |d      }t        j                  ||       y )Nr   r   rJ   )	r=   iinfor   maxr   r    r   r8   r?   )r"   rO   rd   ro   s       r#   test_ensure_index_uint64z'TestIndexUtils.test_ensure_index_uint642  sY     RXXbii(,,-f%F|v%%%x0
fh/r%   c                 \    t        g       }t        g       }t        j                  ||       y r7   )r   r   r8   r?   )r"   rd   ro   s      r#   test_get_combined_indexz&TestIndexUtils.test_get_combined_index>  s%    $R(9
fh/r%   )r  r  r  r0   r  r  r   r   r  r  r  r  r   r%   r#   r  r    s    [[[$i 01[6(E)&$ABsc3Z(SEC:.!Q!Q0@A sc3Z(tSEC:.!Q!Q0@tU	
"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                 J    d|  d} t        ||       }|j                  | k(  sJ y )N__)r   r  )r  r(   r  s      r#   test_generated_op_namesr  D  s/    4 &_FUF#F??f$$$r%   r   r   )r   r>  r?  r   )r   rK   r   c                 v    t        j                  t        d      5   | d       d d d        y # 1 sw Y   y xY w)Nzunexpected keyword argumentr.   r5  )r   )r0   r1   r   )r   s    r#   ,test_index_subclass_constructor_wrong_kwargsr  c  s0     
y(E	F %  r5   c                  d   d} t        j                  t        |       5  t        t	        j
                  ddgt              dd       d d d        t        j                  t        |       5  t        t	        j
                  g d	d
      dd       d d d        t        j                  t        |       5  t        ddddd       d d d        t        j                  t        |       5  t        g ddd       d d d        y # 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   VxY w# 1 sw Y   y xY w)Nz[Uu]nexpected keyword argumentr.   r   r   rJ   testT)rE   fastpathr   r   r   rt   rs   r   )	r0   r1   r   r   r=   r>   ra   r   r   )r   s    r#   test_deprecated_fastpathr	  v  s    
*C	y	, NbhhSz0vMN 
y	, Nbhhy0vMN 
y	, 81a$78 
y	, FvEF FN NN N8 8F Fs/   *D+&D4D(D&DDD#&D/c                      t        g d      } t        j                  t        d      5  | d d d f    d d d        y # 1 sw Y   y xY w)N)r   r   rs   rV   r-   r.   )r   r0   r1   r2   )r  s    r#   test_shape_of_invalid_indexr    s=     
C	z)E	F AtG  s	   
<ArK   c                 L   d}t        j                  d      j                  ddd      }t        j                  t
        |      5  t        ||        d d d        t        |j                  dd            }t        j                  t
        |      5  t        ||        d d d        t        dt        d            }t        j                  t
        |      5  t        j                  ddggdz  |       |_        d d d        y # 1 sw Y   xY w# 1 sw Y   qxY w# 1 sw Y   y xY w)	Nz Index data must be 1-dimensionalr\  rs   r.   rJ   r   r   rV   )r=   r/  reshaper0   r1   r2   r   r   r   r   r>   r(   )rK   r   r@   rz   sers        r#   test_validate_1d_inputr    s     -C
))A,

q!Q
'C	z	-  c  
3;;q!$	%B	z	- b E!H
C	z	- 8HHq!fX\7	8 8    
8 8s$   DD#DDDD#zklass, extra_kwargsc                     t        |       S )NrJ   r  )r+  dtyps    r#   r,  r,    s    U1D) r%   rW   r  c                      | t        t        j                  dd            fi |} | t        t	        dd            fi |}t        j                  ||d       y )Ni  i  TrK  )
memoryviewr=   r/  r    r   r8   r?   )r   extra_kwargsrd   ro   s       r#   test_construct_from_memoryviewr    sP     :biid34EEFT%d+,==H&($7r%   r  c                     t        t        j                  g      }t        j                  dg      } | ||      }t	        j
                  ||        | ||j                               }t	        j
                  ||       y r  )r   r=   r~   r>   r8   rQ   rH   )r  r  ro   rd   s       r#   test_nan_comparison_same_objectr    s`     /Cxx HS\F1SXXZ F1r%   r  c            	          dd l } t        dgddggt        j                  | j	                  | j                                           }|j                  rJ |j                  rJ y )Nr   r   rs   rV   rJ   )r  r   rP   
ArrowDtypelist_r   r  r  )par  s     r#   #test_is_monotonic_pyarrow_list_typer    sV     
!q!fR]]288BHHJ3G%H
IC*********r%   )Dcollectionsr   r   	functoolsr   r  operatorr   numpyr=   r0   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr  pandas.core.dtypes.commonr   r	   r
   pandasrP   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr8   pandas.core.indexes.apir   r   r   r   r   r   r  r  r  r  r  r   r  ra   r  r	  r  r   r   r   r  ALL_REAL_NUMPY_DTYPESr  r  r  r  r  r  )r  s   pr#   <module>r,     sm   #     	    + ) )       n0 n0b)o6 o6d10 10h 2%32%  s+\N3<.1gY/
q*[R[[A%6$78SE0
A3qc2	F	 4299bjj"IJ8 K8$ 	;=;S;S	T4)2
.	T 
 
	
 
vsm$	8	8 X[[9:	2 ;	2 y+ +7 
Us   9H4