
    Mhg                         S r SSKJrJr  SSKrSSKrSSKJrJrJ	r	J
r
JrJrJrJrJrJr  SSKJr  \R(                  S 5       r " S S5      r " S S	5      r " S
 S5      rg)z/
See also: test_reindex.py:TestReindexSetIndex
    )datetime	timedeltaN)
CategoricalCategoricalIndex	DataFrameDatetimeIndexIndex
MultiIndexSeries
date_rangeperiod_rangeto_datetimec            
      >   [        / SQ/ SQ/ SQ[        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      S.5      n U $ )a%  
Fixture for DataFrame of columns that can be used for indexing

Columns are ['A', 'B', 'C', 'D', 'E', ('tuple', 'as', 'label')];
'A' & 'B' contain duplicates (but are jointly unique), the rest are unique.

     A      B  C         D         E  (tuple, as, label)
0  foo    one  a  0.608477 -0.012500           -1.664297
1  foo    two  b -0.633460  0.249614           -0.364411
2  foo  three  c  0.615256  2.154968           -0.834666
3  bar    one  d  0.234246  1.085675            0.718445
4  bar    two  e  0.533841 -0.005702           -3.533912
)foor   r   barr   )onetwothreer   r   )abcde      )ABCDEtupleaslabel)r   nprandomdefault_rngstandard_normal)dfs    [/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_set_index.pyframe_of_index_colsr+      sz     
46*&&q)99!<&&q)99!<&(ii&;&;A&>&N&Nq&Q	
	
B I    c                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 r\R                  R                  SSSSS/S/5      \R                  R                  SSS/5      \R                  R                  SSS/5      S 5       5       5       r\R                  R                  SSSSS/S/5      \R                  R                  SSS/5      S 5       5       r\R                  R                  SSSSS/S/5      \R                  R                  SSS/5      S 5       5       rS r\R                  R                  S\\\R.                  \S S /5      \R                  R                  S/ SQ5      \R                  R                  SSS/5      S 5       5       5       r\R                  R                  S\\\R.                  \S /5      \R                  R                  S/ SQ5      \R                  R                  SSS/5      S  5       5       5       r\R                  R                  S!\\\R.                  \\S" S# /5      \R                  R                  S$\\\R.                  \\S% S& /5      \R                  R                  S/ S'Q5      \R                  R                  SSS/5      S( 5       5       5       5       r\R                  R                  S)SS/5      \R                  R                  SSS/5      S* 5       5       rS+ rS, rS- r S. r!S/r"g0)1TestSetIndex8   c                     / SQ/ SQS.n[        U5      n/ SQnX2S'   [        R                  " US   5      nUR                  U5        g )N)r   g      @   )   r      )t1t2))r      )r   r   )r6   r   tuples)r   r
   from_tuples	set_index)selfr   r)   r7   indexs        r*   test_set_index_multiindex&TestSetIndex.test_set_index_multiindex9   sA    i0q\)8&&r(|4
Ur,   c           	          [        SSS.SSS.SSS	S
.SSSS
.// SQS9nUR                  SS/5      nUSS/   n[        R                  " US   US   /SS/S9Ul        [
        R                  " X#5        g )Nr6   r   )r   pr   
   )r   mr1         )r   rA   r?   r2         )r   rA   r?   xcolumnsr   rF   rA   r?   names)r   r9   r
   from_arraysr;   tmassert_frame_equal)r:   r)   resultexpecteds       r*   test_set_index_empty_column(TestSetIndex.test_set_index_empty_columnD   s    a b!br*br*	 )
 sCj)sCj>#//C"S'0B3PS*U
f/r,   c                     [        [        SS9[        SS9/ S.5      nUR                  SS/5      nUR                  R	                  5       R
                  nUSS/   R
                  n[        R                  " X45        g )Nzdatetime64[ns]dtypeint64r   r   r   r   r   )r   r   r9   r;   to_framedtypesrL   assert_series_equal)r:   df1df2rN   rO   s        r*   test_set_index_empty_dataframe+TestSetIndex.test_set_index_empty_dataframeV   so    /0vG7LSUV
 mmS#J'##%,,Sz?))
v0r,   c                    [         R                  " / SQ5      n[        [        R                  R                  S5      R                  S5      US9nUR                  UR                  S   5      nUR                  S S 2SS 24   nUR                  S S 2S4   R                  Ul        UR                  S   /UR                  l        [        R                  " X45        g )N))r   r6   )r   r   )r   r6   r   )r1   r1   rG   r   r6   )r
   r8   r   r%   r&   r'   r(   r9   rH   ilocvaluesr;   rJ   rL   rM   )r:   rH   r)   rN   rO   s        r*    test_set_index_multiindexcolumns-TestSetIndex.test_set_index_multiindexcolumnsa   s    (()MNII!!!$44V<g
 bjjm,771ab5>A-- "

1
f/r,   c                    [        S/SS9R                  S5      n[        SU05      nUR                  U5      R                  S   R
                  S:X  d   e[        [        UR                  5      5      S   R
                  S:X  d   eUR                  UR                  5      R                  S   R
                  S:X  d   eg )Nz2014-01-01 10:10:10UTCtzzEurope/Romer   r   rB   )r   
tz_convertr   r9   r;   hourr   r   )r:   idxr)   s      r*   test_set_index_timezone$TestSetIndex.test_set_index_timezonen   s     23>II-XSz"||C &&q).."444VBDD\*1-22b888||BDD!''*//2555r,   c           
      H   [        [        S5       Vs/ s H  n[        SSS5      [        U5      -   PM     sn[        R
                  R                  S5      R                  S5      S.5      nUR                  S5      n[        UR                  [        5      (       d   eg s  snf )Ni  i  r6   r   r   r   r   )r   ranger   r   r%   r&   r'   r(   r9   
isinstancer;   r   )r:   ir)   idfs       r*   !test_set_index_cast_datetimeindex.TestSetIndex.test_set_index_cast_datetimeindexw   s    CH;O;ahtQ*Yq\9;OYY**1-==dC
 ll3#))]3333 Ps   #Bc                    [        SSSSS9n[        / SQ/ SQS.US	9R                  5       nUR                  S
5      n[        / SQ/ SQS.[	        US
S9S	9nUR
                  R                  S 5      Ul        [        R                  " X45        UR                  S
S/5      n[        R                  " U/ SQ/S
S/S9n[        S/ SQ0US9n[        R                  " X45        g )Nz2006-10-29 00:00:00r1   h
US/Pacific)periodsfreqrf   r   r6   r   )r1   r2   r   )r   r   )datar;   r;   namer   rI   r   r;   )r   r   reset_indexr9   r	   r;   
_with_freqrL   rM   r
   rK   )r:   dir)   resexp	exp_indexs         r*   test_set_index_dstTestSetIndex.test_set_index_dst   s    -qs|T))<BGSSUll7# y1)
 II((.	
c' llGS>***B	?7C.Q	i(	:
c'r,   c                 \   Un[        [        R                  " [        U5      5      S S S2   5      nUR	                  U5      n[
        R                  " UR                  U5        [        R                  " [        SS9   UR	                  US S S2   5        S S S 5        g ! , (       d  f       g = f)NzLength mismatchmatchr   )r	   r%   arangelenr9   rL   assert_index_equalr;   pytestraises
ValueError)r:   float_string_framer)   ri   s       r*   test_set_indexTestSetIndex.test_set_index   sy    BIIc"g&tt,-\\#
bhh,]]:->?LLSqS" @??s   <B
B+c                    [        [        R                  " S5      [        [	        S5      [
        S9[        [        S5       Vs/ s H  nSU 3PM
     sn[
        S9S9nSUR                  l        UR                  UR                  5      R                  R                  S/:X  d   e[        R                  " USS	/   R                  R                  SS	/S
9n[        R                  " U/ SQ   R                  R                  / SQS
9nUR                  SS	/5      nUR                  UR                  5      R                  R                  SS	/:X  d   e[        UR                  UR                  5      R                  [        5      (       d   e[         R"                  " UR                  UR                  5      R                  U5        UR                  R%                  SS/5      n[        UR                  UR                  U/5      R                  [        5      (       d   e[         R"                  " UR                  UR                  U/5      R                  U5        g s  snf )N)r@   r2   ABCDrS   r@   zi-)rH   r;   r|   r   r   rI   )r   r   r   r   )r   r   r   r   r   r   )r   r%   onesr	   listobjectrn   r;   r|   r9   rJ   r
   rK   Tr`   ro   rL   r   rename)r:   rp   r)   mimi2idx2s         r*   test_set_index_names!TestSetIndex.test_set_index_names   s   GGG$v,f55959a2aS95VD

 ||BHH%++11fX===##BSzN$4$4$;$;C:N$$#$&&--5I
 \\3*%||BHH%++11c3Z??? ",,rxx066
CCCC 	bll2884::B?xxSz* ",,$'78>>
KKKK 	bllBHHd+;<BBCH9 6s   Ikeysr   r   r   r!   inplaceTFdropc                    Un[        U[        5      (       a)  [        R                  " U Vs/ s H  oeU   PM	     snUS9nO[	        XT   US9nU(       a  UR                  USS9OUnXxl        U(       a&  UR                  5       n	U	R                  XBSS9n
U
b   eOUR                  XBS9n	[        R                  " X5        g s  snf )NrI   r{   r6   axisT)r   r   )r   )ro   r   r
   rK   r	   r   r;   copyr9   rL   rM   )r:   r+   r   r   r   r)   rF   ri   rO   rN   return_values              r*   test_set_index_drop_inplace(TestSetIndex.test_set_index_drop_inplace   s     !dD!!(()>AQ%)>dKCt,C,02774a7(bWWYF!++DT+JL'''\\$\2F
f/ *?s   B?c                 `   Un[        U[        5      (       a  UOU/n[        R                  " UR                  /U Vs/ s H  oTU   PM	     sn-   S /U-   S9nU(       a  UR                  USS9OUR                  5       nXgl        UR                  X2SS9n[        R                  " X5        g s  snf )NrI   r6   r   Tr   append)
ro   r   r
   rK   r;   r   r   r9   rL   rM   )	r:   r+   r   r   r)   rF   ri   rO   rN   s	            r*   test_set_index_append"TestSetIndex.test_set_index_append   s     !!$--tD6$$XXJ.AQ%..tftm
 -12774a7(bggidd;
f/ /s   B+
c                     UR                  S/USS9n[        U[        5      (       a  UOU/nUR                  S/U-   USS9nUR                  X2SS9n[        R                  " Xe5        g )Nr   Tr   )r9   ro   r   rL   rM   )r:   r+   r   r   r)   rO   rN   s          r*   #test_set_index_append_to_multiindex0TestSetIndex.test_set_index_append_to_multiindex   sp     !**C5tD*I!$--tD6&00#DQU0Vdd;
f/r,   c                     [        / SQ/ SQS.5      n[        SSS/0[        SS/S	S
95      nUR                  UR                  R	                  S 5         nUR                  S	5      n[        R                  " XB5        g )Nry   rV   )valkeyr   r6   r   r   r   r   r{   c                     U S:  $ )Nr6    )indxs    r*   <lambda><TestSetIndex.test_set_index_after_mutation.<locals>.<lambda>   s    tqyr,   )r   r	   locr;   mapr9   rL   rM   )r:   r)   rO   r[   rN   s        r*   test_set_index_after_mutation*TestSetIndex.test_set_index_after_mutation   sh    yABeaV_eS#JU.KLffRXX\\"89:u%
f/r,   boxc                     [        U 5      /$ N)r   rF   s    r*   r   TestSetIndex.<lambda>	  s
    tAwir,   c                 0    [         R                  " U /5      $ r   r
   rK   r   s    r*   r   r   
      j,,aS1r,   zappend, index_name)TNTr   TtestFNc                    UnXFR                   l        U" US   5      nU[        :X  a5  Sn[        R                  " [
        US9   UR                  XrUS9  S S S 5        g [        USS 5      n	U	c  [        USS 5      /OU	n
UR                  XrUS9nUR                  S/SUS9nU(       a  U/U
-   OU
UR                   l        [        R                  " X5        g ! , (       d  f       g = f)Nr   z%['one', 'two', 'three', 'one', 'two']r   r   rJ   r|   F)r;   r|   r   r   r   KeyErrorr9   getattrrJ   rL   rM   )r:   r+   r   r   
index_namer   r)   r   msgname_mir|   rN   rO   s                r*    test_set_index_pass_single_array-TestSetIndex.test_set_index_pass_single_array  s    $ !""S'l$;9Cxs3SF; 43 c7D1G3:?GC./D\\#\@F ||SEf|EH:@J<$#6dHNN !!&3 43s   C
C"c                 0    [         R                  " U /5      $ r   r   r   s    r*   r   r   .  s    9O9OQRPS9Tr,   )r   Tr   r   r   r   c                 v   UnXFR                   l        SU" US   5      /nSU[        R                  [        [
        [        4;   a  S OS/nUR                  XrUS9n	UR                  SS/SUS9n
U(       a  U
R                  SSS9OU
n
U(       a  U/U-   OUU
R                   l	        [        R                  " X5        g )Nr   r   r   Fr6   r   )r;   r|   r%   arrayr   r"   iterr9   r   rJ   rL   rM   )r:   r+   r   r   r   r   r)   r   rJ   rN   rO   s              r*   test_set_index_pass_arrays'TestSetIndex.test_set_index_pass_arrays-  s     !"SC\"cbhheT%BBdLdf= <<c
v<F158==1=-87=
|e35
f/r,   box2c                 0    [         R                  " U /5      $ r   r   r   s    r*   r   r   T  r   r,   c                     U R                   $ r   r{   r   s    r*   r   r   U      affr,   box1c                 0    [         R                  " U /5      $ r   r   r   s    r*   r   r   `  r   r,   c                     U R                   $ r   r{   r   s    r*   r   r   a  r   r,   )r   r   r   r   c                    UnXGR                   l        U" US   5      U" US   5      /nUR                  XUS9n	U" US   5      U" US   5      /n[        US   [        5      (       a,  US   S:X  a#  [        US   [        5      (       a  US   S:X  a  SOUn
UR                  US   /XS9nUR                  US   /USS9n[
        R                  " X5        g )Nr   r   r   r6   FT)r;   r|   r9   ro   strrL   rM   )r:   r+   r   r   r   r   r   r)   r   rN   
first_droprO   s               r*   $test_set_index_pass_arrays_duplicate1TestSetIndex.test_set_index_pass_arrays_duplicateL  s    > !"RWtBsG}-df= RWtBsG}- 47C((GsNtAw,,GsN   	 <<a	
<J%%tAwid4%H
f/r,   r   c                     Un[         R                  " US   US   /SS/S9nUR                  XRUS9nUR                  SS/SUS9n[        R                  " Xg5        g )Nr   r   rI   r   F)r
   rK   r9   rL   rM   )r:   r+   r   r   r)   r   rN   rO   s           r*   test_set_index_pass_multiindex+TestSetIndex.test_set_index_pass_multiindex  sf     !%%r#w3&8c
Kdf= <<c
v<F
f/r,   c                 t   [        [        S5      S-  SS9n[        [        R                  R                  S5      R                  S5      UR                  S.5      nUR                  S5      n[        R                  " UR                  U5        [        [        R                  R                  S5      R                  S5      US.5      nUR                  S5      n[        R                  " UR                  U5        UR                  5       R                  S5      n[        R                  " UR                  U5        g )Nabr   r   r{   r   r@   rm   )r   r   r   r%   r&   r'   r(   r`   r9   rL   r   r;   r~   )r:   cir)   rq   s       r*   (test_construction_with_categorical_index5TestSetIndex.test_construction_with_categorical_index  s    d4j1n37 ))''*::2>RYYO
 ll3
cii, RYY2215EEbIPRSTll3
cii, oo))#.
cii,r,   c                 \   [        / SQ/ SQ[        [        S5      [        S5      SS9[        [        S5      [        S5      SS9S.5      nS	S
SS	/SS
/S	S
/4 HQ  nUR                  U5      R	                  5       nUR                  UR                  S9n[        R                  " X15        MS     g )N)r6   r   r6   r6   r   )r@            "   abaabbacF)
categoriesorderedT)r   r   C1C2r   r   r   rG   )	r   r   r   r9   r~   reindexrH   rL   rM   )r:   r)   colsrN   s       r*   )test_set_index_preserve_categorical_dtype6TestSetIndex.test_set_index_preserve_categorical_dtype  s    $)!$w-DKQVW!$w-DKQUV	
 4#tsDkD$<HD\\$'335F^^BJJ^7F!!&- Ir,   c                     [        / SQ/ SQ[        S5      S.5      n[        UR                  S5      SS9Ul        UR                  R                  S5      Ul        [        / S	QSS
9nUR                  S5      R                  S5      nUR                  SSS9n[        R                  " UR                  R                  S   U5        [        R                  " UR                  R                  S   [        SS/SS
95        UR                  R                  SS/:X  d   eUR                  SS5      n[        R                  " UR                  R                  S   [        SS/SS
95        [        R                  " UR                  R                  S   U5        UR                  R                  SS/:X  d   e[        [        R                   R#                  S5      R!                  S5      5      n[        / SQSS9n[        / SQSS9n[%        SSSS9nUR'                  S 5      nUR                  U5      nUR                  USS9nUR                  USS9n[        / S	QSS9n[        SS/SS9n[        R                  " UR                  R                  S   U5        [        R                  " UR                  R                  S   U5        [        R                  " UR                  R                  S   U5        [        R                  " UR                  R)                  S5      U5        [        R                  " UR                  R)                  S5      U5        [        R                  " UR                  R)                  S5      U5        g )N)r   r   r   r   r   r   )2011-07-19 07:00:002011-07-19 08:00:002011-07-19 09:00:00r   r   r   r3   )r$   r   valuer   T)utcrv   )r   r   r   r{   rd   r$   r   r   r6   r   r   r   z
US/Easternre   )2012-04-01 09:00r  r  2012-04-02 09:00r  r  z2011-01-01 09:00z
Asia/Tokyo)rw   rf   r  r  )r   rn   r   popr;   rg   r   tz_localizer9   rL   r   levelsr	   rJ   	swaplevelr%   r&   r'   r   r   get_level_values)r:   r)   rO   idx1r   idx3	expected1	expected2s           r*   test_set_index_datetime$TestSetIndex.test_set_index_datetime  s   7 q
 rvvj1t<88&&|4 Q
 ''.99,G\\'$\/
bhhooa0(;
bhhooa0%c
2QRxx~~*g!6666\\!Q
bhhooa0%c
2QR
bhhooa0(;xx~~':!6666ryy,,Q/66q9: 

  

 ,aLIt$\\$\\$t\,\\$t\,!Q
	 "!34
	 	bhhooa0)<
bhhooa0)<
bhhooa0$7 	bhh77:DA
bhh77:DA
bhh77:DAr,   c                    [        [        R                  R                  S5      R                  S5      5      n[	        SSSS9nUR                  U5      n[	        SSSS9nUR                  U5      R                  U5      n[	        S	SS
S9nUR                  U5      nUR                  USS9nUR                  USS9n[	        SSSS9n[	        SSSS9n[        R                  " UR                  R                  S   U5        [        R                  " UR                  R                  S   U5        [        R                  " UR                  R                  S   U5        [        R                  " UR                  R                  S5      U5        [        R                  " UR                  R                  S5      U5        [        R                  " UR                  R                  S5      U5        g )Nr   r3   z
2011-01-01r1   Mrw   rx   z2013-01-01 09:00ru   2005YTr  r   r6   )r   r%   r&   r'   r   r   r9   rL   r   r;   r  r	  )r:   r)   r
  r   r  r  r  s          r*   test_set_index_period"TestSetIndex.test_set_index_period	  s{   ryy,,Q/66q9:L!#>{{4 .D{{4 ''-FAC8\\$\\$t\,\\$t\, qsC	 !3QSI	
bhhooa0)<
bhhooa0)<
bhhooa0$7
bhh77:DA
bhh77:DA
bhh77:DAr,   r   N)#__name__
__module____qualname____firstlineno__r<   rP   r\   ra   rj   rr   r   r   r   r   markparametrizer   r   r   r   r   r	   r%   r   r   r   r   r   r   r   r   r   r  r  __static_attributes__r   r,   r*   r.   r.   8   sV   	0$	106	4(&# IF [[Vc3c
<T%UV[[Yu6[[VdE]30 4 7 W0( [[Vc3c
<T%UV[[VdE]30 4 W0 [[Vc3c
<T%UV[[VdE]3	0 4 W	00 [[HH1	

 [[X [[VdE]34 4
48 [[rxx/TU [[O [[VdE]30 4	0. [[HH1	
 [[HH1	
 [[X [[VdE]30 480@ [[Xe}5[[VdE]3	0 4 6	0-&.PBdBr,   r.   c                      \ rS rSrS r\R                  R                  SSS/5      \R                  R                  SSS/5      S 5       5       r\R                  R                  SSS/5      \R                  R                  SSS/5      \R                  R                  S\	/S	/S
9S 5       5       5       r
\R                  R                  S\\\R                  \S // SQS
9\R                  R                  SSS/SS/S
9\R                  R                  SSS/5      \R                  R                  SSS/5      S 5       5       5       5       rSrg)TestSetIndexInvalidi"  c                 $   Un[         R                  " [        SS9   UR                  SSS9  S S S 5        [         R                  " [        SS9   UR                  US   US   /SS9  S S S 5        g ! , (       d  f       NI= f! , (       d  f       g = f)NzIndex has duplicate keysr   r   T)verify_integrity)r   r   r   r9   )r:   r+   r)   s      r*   test_set_index_verify_integrity3TestSetIndexInvalid.test_set_index_verify_integrity#  sw     ]]:-GHLLtL4 I ]]:-GHLL"S'2c7+dLC IH IH IHs   A0B0
A>
Br   TFr   c           	      v   Un[         R                  " [        SS9   UR                  / SQX#S9  S S S 5        [         R                  " [        SS9   UR                  US   US   S/X#S9  S S S 5        Sn[         R                  " [        US9   UR                  [	        US   5      X#S9  S S S 5        [         R                  " [        US9   UR                  SUS   [	        US   5      /X#S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nu= f! , (       d  f       g = f)	Nz['foo', 'bar', 'baz']r   )r   r   bazr   Xr   r   z%[('foo', 'foo', 'foo', 'bar', 'bar')])r   r   r   r9   r"   )r:   r+   r   r   r)   r   s         r*   test_set_index_raise_keys-TestSetIndexInvalid.test_set_index_raise_keys,  s     !]]8+BCLL.TLI D
 ]]83/LL"S'2c7C0tLK 0 6]]83/LLr#wdLB 0 ]]83/LL#r#wbg7dLR 0/ DC
 0/
 0/ 0/s/   C7DD#D*7
D
D
D'*
D8r   set)idsc           	      H   UnSn[         R                  " [        US9   UR                  U" US   5      X4S9  S S S 5        [         R                  " [        US9   UR                  SUS   U" US   5      /X4S9  S S S 5        g ! , (       d  f       NP= f! , (       d  f       g = f)N,The parameter "keys" may be a column key, .*r   r   r   )r   r   	TypeErrorr9   )r:   r+   r   r   r   r)   r   s          r*   test_set_index_raise_on_type0TestSetIndexInvalid.test_set_index_raise_on_typeB  s     !<]]9C0LLRWDL@ 1 ]]9C0LL#r#wBsG5DLP 10	 10 10s   B B
B
B!c                 0    [         R                  " U /5      $ r   r   r   s    r*   r   TestSetIndexInvalid.<lambda>T  s    *2H2H!2Mr,   )r   r	   znp.arrayr   r
   lengthr2   r3   	too_shorttoo_longc                    Un[         R                  R                  S5      R                  SSU45      nSn[        R
                  " [        US9   UR                  U" U5      XES9  S S S 5        [        R
                  " [        US9   UR                  SUR                  U" U5      /XES9  S S S 5        g ! , (       d  f       NT= f! , (       d  f       g = f)Nr   r   r@   z<Length mismatch: Expected 5 rows, received array of length.*r   r   r   )	r%   r&   r'   integersr   r   r   r9   r   )	r:   r+   r   r2  r   r   r)   r`   r   s	            r*   test_set_index_raise_on_len/TestSetIndexInvalid.test_set_index_raise_on_lenR  s     !&&q)221b6)DL ]]:S1LLV4L? 2 ]]:S1LL#rttS[1LL 21	 21 21s   B4$C4
C
Cr   N)r  r  r  r  r"  r   r  r  r'  r)  r.  r   r	   r%   r   r   r7  r  r   r,   r*   r  r  "  sa   D [[Xe}5[[VdE]3S 4 6S( [[Xe}5[[VdE]3[[USEw7
Q 8 4 6
Q [[	$(MNA  
 [[X1vK3LM[[Xe}5[[VdE]3M 4 6 NMr,   r  c                   ,    \ rS rSrS rS rS rS rSrg)TestSetIndexCustomLabelTypeim  c                 X    " S S5      nU" SS5      nU" SS5      n[        USS/US	S
/05      n[        USS/0[        S	S
/US9S9nUR                  U5      n[        R                  " Xe5        UR                  U/5      n[        R                  " Xe5        U" SS5      nSn[
        R                  " [        US9   UR                  U5        S S S 5        [
        R                  " [        US9   UR                  U/5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nc                   0    \ rS rSrSS jrS\4S jr\rSrg)KTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thingiq  returnNc                     Xl         X l        g r   r|   colorr:   r|   rA  s      r*   __init__TTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__init__r       	"
r,   c                 4    S[        U R                  5       S3$ Nz<Thing >reprr|   r:   s    r*   __str__STestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__str__v       dii 133r,   rA  r|   r>  N)	r  r  r  r  rC  r   rL  __repr__r  r   r,   r*   Thingr=  q  s    #4 4 Hr,   rR  OneredTwobluer   r6   r   r1   r{   r}   Threepinkz<Thing 'Three'>r   )r   r	   r9   rL   rM   r   r   r   	r:   rR  thing1thing2r)   rO   rN   thing3r   s	            r*    test_set_index_custom_label_type<TestSetIndexCustomLabelType.test_set_index_custom_label_typen  s	   		 		 ue$uf%AA78fq!f-UAq65OP f%
f/ vh'
f/ w']]83/LL  0 ]]83/LL&" 0/	 0/ 0/s   ;D
.D

D
D)c                 h    " S S[         5      nU" SS/5      nU" SS/5      n[        USS/US	S
/05      n[        USS/0[        S	S
/US9S9nUR                  U5      n[        R
                  " Xe5        UR                  U/5      n[        R
                  " Xe5        U" SS/5      nSn[        R                  " [        US9   UR                  U5        S S S 5        [        R                  " [        US9   UR                  U/5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nc                   "    \ rS rSrS\4S jrSrg)XTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thingi  r>  c                 b    [        U 5      nSR                  [        [        U5      5      nSU S3$ )Nz, zfrozenset({z}))sortedjoinr   rJ  )r:   tmpjoined_reprss      r*   rQ  aTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thing.__repr__  s.    Tl#yyT38%l^377r,   r   N)r  r  r  r  r   rQ  r  r   r,   r*   rR  ra    s    8# 8r,   rR  rS  rT  rU  rV  r   r6   r   r1   r{   r}   rW  rX  z frozenset\(\{'Three', 'pink'\}\)r   )		frozensetr   r	   r9   rL   rM   r   r   r   rY  s	            r*   -test_set_index_custom_label_hashable_iterableITestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable  s   	8I 	8 u~&v'AA78fq!f-UAq65OP f%
f/ vh'
f/ ()1]]83/LL  0 ]]83/LL&" 0/	 0/ 0/s   D6D#
D #
D1c                 ~    " S S[         5      nU" SS5      nU" SS5      n[        SS/S	S
//X#/S9nSn[        R                  " [        US9   UR                  U5        S S S 5        [        R                  " [        US9   UR                  U/5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nc                   ,    \ rS rSrSS jrS\4S jrSrg)RTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thingi  r>  Nc                     Xl         X l        g r   r@  rB  s      r*   rC  [TestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__init__  rE  r,   c                 4    S[        U R                  5       S3$ rG  rI  rK  s    r*   rL  ZTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__str__  rN  r,   rO  rP  )r  r  r  r  rC  r   rL  r  r   r,   r*   rR  rm    s    #4 4r,   rR  rS  rT  rU  rV  r   r   r6   r1   rG   r,  r   )r)  r   r   r   r-  r9   )r:   rR  rZ  r[  r)   r   s         r*   'test_set_index_custom_label_type_raisesCTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises  s    	4C 	4 ue$uf%AA'&1AB<]]9C0LL  1 ]]9C0LL&" 10	 10 10s   BB.
B+.
B<c                 f   [        [        R                  R                  S5      R                  S5      5      n[	        SSSS9n[	        SSSS9nUR                  U5      n[        R                  " UR                  U5        UR                  U5      n[        R                  " UR                  U5        g )Nr   r3   z
2011/01/01r  r  2013r  )	r   r%   r&   r'   r   r9   rL   r   r;   )r:   r)   r
  r   s       r*   test_set_index_periodindex6TestSetIndexCustomLabelType.test_set_index_periodindex  s    ryy,,Q/66q9:L!#>FAC8\\$
bhh-\\$
bhh-r,   r   N)	r  r  r  r  r]  ri  rr  rv  r  r   r,   r*   r:  r:  m  s    $#L%#N#4	.r,   r:  )__doc__r   r   numpyr%   r   pandasr   r   r   r   r	   r
   r   r   r   r   pandas._testing_testingrL   fixturer+   r.   r  r:  r   r,   r*   <module>r~     sm   
       6gB gBTHM HMVq. q.r,   