
    Owgg                         d Z ddlmZmZ ddlZddlZddlmZmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZ ej(                  d        Z G d d      Z G d d	      Z G d
 d      Zy)z/
See also: test_reindex.py:TestReindexSetIndex
    )datetime	timedeltaN)
CategoricalCategoricalIndex	DataFrameDatetimeIndexIndex
MultiIndexSeries
date_rangeperiod_rangeto_datetimec            
      >   t        g dg dg dt        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      d      } | S )aM  
    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/horilla/myenv/lib/python3.12/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                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                  j                  d
ddddgdg      ej                  j                  dddg      ej                  j                  dddg      d                      Zej                  j                  d
ddddgdg      ej                  j                  dddg      d               Zej                  j                  d
ddddgdg      ej                  j                  dddg      d               Zd Zej                  j                  deeej,                  ed d g      ej                  j                  dg d      ej                  j                  dddg      d                      Zej                  j                  deeej,                  ed g      ej                  j                  dg d      ej                  j                  dddg      d                      Zej                  j                  d eeej,                  eed! d" g      ej                  j                  d#eeej,                  eed$ d% g      ej                  j                  dg d&      ej                  j                  dddg      d'                             Zej                  j                  d(ddg      ej                  j                  dddg      d)               Zd* Zd+ Zd, Zd- Z y.)/TestSetIndexc                     g dg dd}t        |      }g d}||d<   t        j                  |d         }|j                  |       y )N)r   g      @   )   r      )t1t2))r      )r   r   )r5   r   tuples)r   r
   from_tuples	set_index)selfr   r)   r6   indexs        r*   test_set_index_multiindexz&TestSetIndex.test_set_index_multiindex9   sC    i0q\)8&&r(|4
Ur,   c           	          t        ddddddddd	d
dddd
gg d      }|j                  ddg      }|ddg   }t        j                  |d   |d   gddg      |_        t        j                  ||       y )Nr5   r   )r   pr   
   )r   mr0         )r   r?   r=   r1         )r   r?   r=   xcolumnsr   rD   r?   r=   names)r   r8   r
   from_arraysr:   tmassert_frame_equal)r9   r)   resultexpecteds       r*   test_set_index_empty_columnz(TestSetIndex.test_set_index_empty_columnD   s    a b!br*br*	 )
 sCj)sCj>#//C"S'0B3PS*U
fh/r,   c                    t        t        d      t        d      g d      }|j                  ddg      }|j                  j	                         j
                  }|ddg   j
                  }t        j                  ||       y )Nzdatetime64[ns]dtypeint64r   r   r   r   r   )r   r   r8   r:   to_framedtypesrJ   assert_series_equal)r9   df1df2rL   rM   s        r*   test_set_index_empty_dataframez+TestSetIndex.test_set_index_empty_dataframeV   sq    /0vG7LSUV
 mmS#J'##%,,Sz?))
vx0r,   c                    t        j                  g d      }t        t        j                  j                  d      j                  d      |      }|j                  |j                  d         }|j                  d d dd f   }|j                  d d df   j                  |_        |j                  d   g|j                  _        t        j                  ||       y )N))r   r5   )r   r   )r   r5   r   )r0   r0   rE   r   r5   )r
   r7   r   r%   r&   r'   r(   r8   rF   ilocvaluesr:   rH   rJ   rK   )r9   rF   r)   rL   rM   s        r*    test_set_index_multiindexcolumnsz-TestSetIndex.test_set_index_multiindexcolumnsa   s    (()MNII!!!$44V<g
 bjjm,771ab5>A-- "

1
fh/r,   c                    t        dgd      j                  d      }t        d|i      }|j                  |      j                  d   j
                  dk(  sJ t        t        |j                              d   j
                  dk(  sJ |j                  |j                        j                  d   j
                  dk(  sJ y )Nz2014-01-01 10:10:10UTCtzzEurope/Romer   r   r@   )r   
tz_convertr   r8   r:   hourr   r   )r9   idxr)   s      r*   test_set_index_timezonez$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           
      8   t        t        d      D cg c]  }t        ddd      t        |      z    c}t        j
                  j                  d      j                  d      d      }|j                  d      }t        |j                  t              sJ y c c}w )Ni  i  r5   r   r   r   r   )r   ranger   r   r%   r&   r'   r(   r8   
isinstancer:   r   )r9   ir)   idfs       r*   !test_set_index_cast_datetimeindexz.TestSetIndex.test_set_index_cast_datetimeindexw   s|    CH;OahtQ*Yq\9OYY**1-==dC
 ll3#))]333 Ps    Bc                    t        dddd      }t        g dg dd|	      j                         }|j                  d
      }t        g dg ddt	        |d
      	      }|j
                  j                  d       |_        t        j                  ||       |j                  d
dg      }t        j                  |g dgd
dg      }t        dg di|      }t        j                  ||       y )Nz2006-10-29 00:00:00r0   h
US/Pacific)periodsfreqra   r   r5   r   )r0   r1   r   )r   r   )datar:   r:   namer   rG   r   r:   )r   r   reset_indexr8   r	   r:   
_with_freqrJ   rK   r
   rI   )r9   dir)   resexp	exp_indexs         r*   test_set_index_dstzTestSetIndex.test_set_index_dst   s    -qs|T))<BGSSUll7# y1)
 II((.	
c3' llGS>***B	?7C.Q	i(	:
c3'r,   c                 R   |}t        t        j                  t        |            d d d         }|j	                  |      }t        j                  |j                  |       t        j                  t        d      5  |j	                  |d d d          d d d        y # 1 sw Y   y xY w)NzLength mismatchmatchr   )r	   r%   arangelenr8   rJ   assert_index_equalr:   pytestraises
ValueError)r9   float_string_framer)   rd   s       r*   test_set_indexzTestSetIndex.test_set_index   s    BIIc"g&tt,-\\#
bhh,]]:->? 	#LLSqS"	# 	# 	#s   <BB&c                    t        t        j                  d      t        t	        d      t
              t        t        d      D cg c]  }d| 	 c}t
                    }d|j                  _        |j                  |j                        j                  j                  dgk(  sJ t        j                  |dd	g   j                  j                  dd	g
      }t        j                  |g d   j                  j                  g d
      }|j                  dd	g      }|j                  |j                        j                  j                  dd	gk(  sJ t        |j                  |j                        j                  t              sJ t!        j"                  |j                  |j                        j                  |       |j                  j%                  ddg      }t        |j                  |j                  |g      j                  t              sJ t!        j"                  |j                  |j                  |g      j                  |       y c c}w )N)r>   r1   ABCDrP   r>   zi-)rF   r:   ru   r   r   rG   )r   r   r   r   )r   r   r   r   r   r   )r   r%   onesr	   listobjectrh   r:   ru   r8   rH   r
   rI   Tr\   ri   rJ   r   rename)r9   rj   r)   mimi2idx2s         r*   test_set_index_namesz!TestSetIndex.test_set_index_names   s   GGG$v,f5595a2aS5VD

 ||BHH%++11fX===##BSzN$4$4$;$;C:N$$#$&&--5I
 \\3*%||BHH%++11c3Z??? ",,rxx066
CCC 	bll2884::B?xxSz* ",,$'78>>
KKK 	bllBHHd+;<BBCH9 6s   Ikeysr   r   r   r!   inplaceTFdropc                    |}t        |t              r)t        j                  |D cg c]  }||   	 c}|      }nt	        ||   |      }|r|j                  |d      n|}||_        |r(|j                         }	|	j                  ||d      }
|
J |j                  ||      }	t        j                  |	|       y c c}w )NrG   rt   r5   axisT)r   r   )r   )ri   r   r
   rI   r	   r   r:   copyr8   rJ   rK   )r9   r+   r   r   r   r)   rD   rd   rM   rL   return_values              r*   test_set_index_drop_inplacez(TestSetIndex.test_set_index_drop_inplace   s     !dD!(()>A"Q%)>dKC4t,C,02774a7(bWWYF!++DtT+JL'''\\$T\2F
fh/ *?s   B>c                 \   |}t        |t              r|n|g}t        j                  |j                  g|D cg c]  }||   	 c}z   d g|z         }|r|j                  |d      n|j                         }||_        |j                  ||d      }t        j                  ||       y c c}w )NrG   r5   r   Tr   append)
ri   r   r
   rI   r:   r   r   r8   rJ   rK   )	r9   r+   r   r   r)   rD   rd   rM   rL   s	            r*   test_set_index_appendz"TestSetIndex.test_set_index_append   s     !!$-tD6$$XXJ.A"Q%..tftm
 -12774a7(bggidd;
fh/ /s   B)
c                     |j                  dg|d      }t        |t              r|n|g}|j                  dg|z   |d      }|j                  ||d      }t        j                  ||       y )Nr   Tr   )r8   ri   r   rJ   rK   )r9   r+   r   r   r)   rM   rL   s          r*   #test_set_index_append_to_multiindexz0TestSetIndex.test_set_index_append_to_multiindex   sq     !**C5tD*I!$-tD6&00#DQU0Vdd;
fh/r,   c                    t        g dg dd      }t        dddgit        ddgd	
            }|j                  |j                  j	                  d          }|j                  d	      }t        j                  ||       y )Nrr   rS   )valkeyr   r5   r   r   r   r   rt   c                     | dk\  S )Nr5    )indxs    r*   <lambda>z<TestSetIndex.test_set_index_after_mutation.<locals>.<lambda>   s
    tqy r,   )r   r	   locr:   mapr8   rJ   rK   )r9   r)   rM   rX   rL   s        r*   test_set_index_after_mutationz*TestSetIndex.test_set_index_after_mutation   sj    yABeaV_eS#JU.KLffRXX\\"89:u%
fh/r,   boxc                     t        |       gS N)r   rD   s    r*   r   zTestSetIndex.<lambda>	  s    tAwi r,   c                 .    t        j                  | g      S r   r
   rI   r   s    r*   r   zTestSetIndex.<lambda>
      j,,aS1 r,   zappend, index_name)TNTr   TtestFNc                    |}||j                   _         ||d         }|t        k(  r;d}t        j                  t
        |      5  |j                  |||       d d d        y t        |dd       }	|	t        |dd       gn|	}
|j                  |||      }|j                  dgd|      }|r|g|
z   n|
|j                   _        t        j                  ||       y # 1 sw Y   y xY w)Nr   z%['one', 'two', 'three', 'one', 'two']r   r   rH   ru   F)r:   ru   r   r   r   KeyErrorr8   getattrrH   rJ   rK   )r9   r+   r   r   
index_namer   r)   r   msgname_miru   rL   rM   s                r*    test_set_index_pass_single_arrayz-TestSetIndex.test_set_index_pass_single_array  s    $ !""S'l$;9Cxs3 <StF;< < c7D1G3:?GC./D\\#D\@F ||SEf|EH:@J<$#6dHNN !!&(3< <s   CC$c                 .    t        j                  | g      S r   r   r   s    r*   r   zTestSetIndex.<lambda>.  s    9O9OQRPS9T r,   )r   Tr   r   r   r   c                 t   |}||j                   _        d ||d         g}d|t        j                  t        t
        t        fv rd ndg}|j                  |||      }	|j                  ddgd|      }
|r|
j                  dd      n|
}
|r|g|z   n||
j                   _	        t        j                  |	|
       y )Nr   r   r   Fr5   r   )r:   ru   r%   arrayr   r"   iterr8   r   rH   rJ   rK   )r9   r+   r   r   r   r   r)   r   rH   rL   rM   s              r*   test_set_index_pass_arraysz'TestSetIndex.test_set_index_pass_arrays-  s     !"SC\"cbhheT%BBdLdf= <<c
v<F158==1=-87=
|e35
fh/r,   box2c                 .    t        j                  | g      S r   r   r   s    r*   r   zTestSetIndex.<lambda>T  r   r,   c                     | j                   S r   rt   r   s    r*   r   zTestSetIndex.<lambda>U  
    aff r,   box1c                 .    t        j                  | g      S r   r   r   s    r*   r   zTestSetIndex.<lambda>`  r   r,   c                     | j                   S r   rt   r   s    r*   r   zTestSetIndex.<lambda>a  r   r,   )r   r   r   r   c                    |}||j                   _         ||d          ||d         g}|j                  |||      }	 ||d          ||d         g}t        |d   t              r%|d   dk(  rt        |d   t              r
|d   dk(  rdn|}
|j                  |d   g|
|      }|j                  |d   g|d      }t        j                  |	|       y )Nr   r   r   r5   FT)r:   ru   r8   ri   strrJ   rK   )r9   r+   r   r   r   r   r   r)   r   rL   
first_droprM   s               r*   $test_set_index_pass_arrays_duplicatez1TestSetIndex.test_set_index_pass_arrays_duplicateL  s    > !"RWtBsG}-df= RWtBsG}- 47C(GsNtAw,GsN   	 <<a	
6<J%%tAwid4%H
fh/r,   r   c                     |}t        j                  |d   |d   gddg      }|j                  |||      }|j                  ddgd|      }t        j                  ||       y )Nr   r   rG   r   F)r
   rI   r8   rJ   rK   )r9   r+   r   r   r)   r   rL   rM   s           r*   test_set_index_pass_multiindexz+TestSetIndex.test_set_index_pass_multiindex  sj     !%%r#w3&8c
Kdf= <<c
v<F
fh/r,   c                 t   t        t        d      dz  d      }t        t        j                  j                  d      j                  d      |j                  d      }|j                  d      }t        j                  |j                  |       t        t        j                  j                  d      j                  d      |d      }|j                  d      }t        j                  |j                  |       |j                         j                  d      }t        j                  |j                  |       y )Nabr   r   rt   r   r>   rg   )r   r   r   r%   r&   r'   r(   r\   r8   rJ   r   r:   rw   )r9   cir)   rk   s       r*   (test_construction_with_categorical_indexz5TestSetIndex.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                 j   t        g dg dt        t        d      t        d      d      t        t        d      t        d      d      d      }d	d
dd	gdd
gd	d
gfD ]S  }|j                  |      j	                         }|j                  |j                        }t        j                  ||       U y )N)r5   r   r5   r5   r   )r>            "   abaabbacF)
categoriesorderedT)r   r   C1C2r   r   r   rE   )	r   r   r   r8   rw   reindexrF   rJ   rK   )r9   r)   colsrL   s       r*   )test_set_index_preserve_categorical_dtypez6TestSetIndex.test_set_index_preserve_categorical_dtype  s    $)!$w-DKQVW!$w-DKQUV	
 4#tsDkD$<H 	.D\\$'335F^^BJJ^7F!!&"-	.r,   c                 0   t        g dg dt        d      d      }t        |j                  d      d      |_        |j                  j                  d      |_        t        g d	d
      }|j                  d      j                  d      }|j                  dd      }t        j                  |j                  j                  d   |       t        j                  |j                  j                  d   t        ddgd
             |j                  j                  ddgk(  sJ |j                  dd      }t        j                  |j                  j                  d   t        ddgd
             t        j                  |j                  j                  d   |       |j                  j                  ddgk(  sJ t        t        j                   j#                  d      j!                  d            }t        g dd      }t        g dd      }t%        ddd      }|j'                  d       }|j                  |      }|j                  |d      }|j                  |d      }t        g d	d      }t        ddgd      }t        j                  |j                  j                  d   |       t        j                  |j                  j                  d   |       t        j                  |j                  j                  d   |       t        j                  |j                  j)                  d      |       t        j                  |j                  j)                  d      |       t        j                  |j                  j)                  d      |       y )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   r2   )r$   r   valuer   T)utcro   )r   r   r   rt   r_   r$   r   r   r5   r   r   r   z
US/Easternr`   )2012-04-01 09:00r   r   2012-04-02 09:00r   r   z2011-01-01 09:00z
Asia/Tokyo)rp   ra   r   r   )r   rh   r   popr:   rb   r   tz_localizer8   rJ   r   levelsr	   rH   	swaplevelr%   r&   r'   r   rx   get_level_values)r9   r)   rM   idx1r   idx3	expected1	expected2s           r*   test_set_index_datetimez$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                    t        t        j                  j                  d      j                  d            }t	        ddd      }|j                  |      }t	        ddd      }|j                  |      j                  |      }t	        d	dd
      }|j                  |      }|j                  |d      }|j                  |d      }t	        ddd      }t	        ddd      }t        j                  |j                  j                  d   |       t        j                  |j                  j                  d   |       t        j                  |j                  j                  d   |       t        j                  |j                  j                  d      |       t        j                  |j                  j                  d      |       t        j                  |j                  j                  d      |       y )Nr   r2   z
2011-01-01r0   Mrp   rq   z2013-01-01 09:00rn   2005YTr   r   r5   )r   r%   r&   r'   r   r   r8   rJ   r   r:   r   r   )r9   r)   r   r   r   r   r   s          r*   test_set_index_periodz"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,   N)!__name__
__module____qualname__r;   rN   rY   r]   re   rl   r}   r   r   r   markparametrizer   r   r   r   r   r	   r%   r   r   r   r   r   r   r   r   r   r   r   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                      e Zd Zd Zej
                  j                  dddg      ej
                  j                  dddg      d               Zej
                  j                  dddg      ej
                  j                  dddg      ej
                  j                  degdg	      d
                      Z	ej
                  j                  de
eej                  ed gg d	      ej
                  j                  dddgddg	      ej
                  j                  dddg      ej
                  j                  dddg      d                             Zy)TestSetIndexInvalidc                 $   |}t        j                  t        d      5  |j                  dd       d d d        t        j                  t        d      5  |j                  |d   |d   gd       d d d        y # 1 sw Y   IxY w# 1 sw Y   y xY w)NzIndex has duplicate keysr   r   T)verify_integrity)r   r   r   r8   )r9   r+   r)   s      r*   test_set_index_verify_integrityz3TestSetIndexInvalid.test_set_index_verify_integrity#  s     ]]:-GH 	5LLtL4	5 ]]:-GH 	DLL"S'2c7+dLC	D 	D	5 	5	D 	Ds   A:B:BBr   TFr   c           	      ~   |}t        j                  t        d      5  |j                  g d||       d d d        t        j                  t        d      5  |j                  |d   |d   dg||       d d d        d}t        j                  t        |      5  |j                  t	        |d         ||       d d d        t        j                  t        |      5  |j                  d|d   t	        |d         g||       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   lxY w# 1 sw Y   y xY w)	Nz['foo', 'bar', 'baz']r   )r   r   bazr   Xr   r   z%[('foo', 'foo', 'foo', 'bar', 'bar')])r   r   r   r8   r"   )r9   r+   r   r   r)   r   s         r*   test_set_index_raise_keysz-TestSetIndexInvalid.test_set_index_raise_keys,  s*    !]]8+BC 	JLL.T&LI	J
 ]]83/ 	LLL"S'2c7C0tFLK	L 6]]83/ 	CLLr#wd6LB	C ]]83/ 	SLL#r#wbg7d6LR	S 	S	J 	J
	L 	L
	C 	C	S 	Ss/   DD!D''D3DD$'D03D<r   set)idsc           	      L   |}d}t        j                  t        |      5  |j                   ||d         ||       d d d        t        j                  t        |      5  |j                  d|d    ||d         g||       d d d        y # 1 sw Y   QxY w# 1 sw Y   y xY w)N,The parameter "keys" may be a column key, .*r   r   r   )r   r   	TypeErrorr8   )r9   r+   r   r   r   r)   r   s          r*   test_set_index_raise_on_typez0TestSetIndexInvalid.test_set_index_raise_on_typeB  s     !<]]9C0 	ALLRWDL@	A ]]9C0 	QLL#r#wBsG5DLP	Q 	Q		A 	A	Q 	Qs   B!$BBB#c                 .    t        j                  | g      S r   r   r   s    r*   r   zTestSetIndexInvalid.<lambda>T  s    *2H2H!2M r,   )r   r	   znp.arrayr   r
   lengthr1   r2   	too_shorttoo_longc                    |}t         j                  j                  d      j                  dd|f      }d}t	        j
                  t        |      5  |j                   ||      ||       d d d        t	        j
                  t        |      5  |j                  d|j                   ||      g||       d d d        y # 1 sw Y   UxY w# 1 sw Y   y xY w)Nr   r   r>   z<Length mismatch: Expected 5 rows, received array of length.*r   r   r   )	r%   r&   r'   integersr   r   r   r8   r   )	r9   r+   r   r  r   r   r)   r\   r   s	            r*   test_set_index_raise_on_lenz/TestSetIndexInvalid.test_set_index_raise_on_lenR  s     !&&q)221b6)DL ]]:S1 	@LLV4L?	@ ]]:S1 	MLL#rttS[1VLL	M 	M		@ 	@	M 	Ms   C (C C	CN)r   r   r  r  r   r  r  r  r  r  r   r	   r%   r   r   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                   $    e Zd Zd Zd Zd Zd Zy)TestSetIndexCustomLabelTypec                 X    G d d      } |dd      } |dd      }t        |ddg|d	d
gi      }t        |ddgit        d	d
g|            }|j                  |      }t        j                  ||       |j                  |g      }t        j                  ||        |dd      }d}t        j                  t        |      5  |j                  |       d d d        t        j                  t        |      5  |j                  |g       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)Nc                   $    e Zd ZddZdefdZeZy)KTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.ThingreturnNc                      || _         || _        y r   ru   colorr9   ru   r"  s      r*   __init__zTTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__init__r       	"
r,   c                 4    dt        | j                         dS Nz<Thing >reprru   r9   s    r*   __str__zSTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__str__v       dii 133r,   r  N)r   r   r  r$  r   r,  __repr__r   r,   r*   Thingr  q  s    #4 4 Hr,   r0  OneredTwobluer   r5   r   r0   rt   rv   Threepinkz<Thing 'Three'>r   )r   r	   r8   rJ   rK   r   r   r   	r9   r0  thing1thing2r)   rM   rL   thing3r   s	            r*    test_set_index_custom_label_typez<TestSetIndexCustomLabelType.test_set_index_custom_label_typen  s   		 		 ue$uf%AA78fq!f-UAq65OP f%
fh/ vh'
fh/ w']]83/ 	!LL 	! ]]83/ 	#LL&"	# 	#		! 	!	# 	#s   D8D D D)c                 h    G d dt               } |ddg      } |ddg      }t        |ddg|d	d
gi      }t        |ddgit        d	d
g|            }|j                  |      }t	        j
                  ||       |j                  |g      }t	        j
                  ||        |ddg      }d}t        j                  t        |      5  |j                  |       d d d        t        j                  t        |      5  |j                  |g       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)Nc                       e Zd ZdefdZy)XTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thingr  c                 b    t        |       }dj                  t        t        |            }d| dS )Nz, zfrozenset({z}))sortedjoinr   r*  )r9   tmpjoined_reprss      r*   r/  zaTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thing.__repr__  s.    Tl#yyT38%l^377r,   N)r   r   r  r   r/  r   r,   r*   r0  r>    s    8# 8r,   r0  r1  r2  r3  r4  r   r5   r   r0   rt   rv   r5  r6  z frozenset\(\{'Three', 'pink'\}\)r   )		frozensetr   r	   r8   rJ   rK   r   r   r   r7  s	            r*   -test_set_index_custom_label_hashable_iterablezITestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable  s&   	8I 	8 u~&v'AA78fq!f-UAq65OP f%
fh/ vh'
fh/ ()1]]83/ 	!LL 	! ]]83/ 	#LL&"	# 	#		! 	!	# 	#s   D D(D%(D1c                 z    G d dt               } |dd      } |dd      }t        ddgd	d
gg||g      }d}t        j                  t        |      5  |j                  |       d d d        t        j                  t        |      5  |j                  |g       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)Nc                        e Zd ZddZdefdZy)RTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thingr  Nc                      || _         || _        y r   r!  r#  s      r*   r$  z[TestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__init__  r%  r,   c                 4    dt        | j                         dS r'  r)  r+  s    r*   r,  zZTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__str__  r-  r,   r.  )r   r   r  r$  r   r,  r   r,   r*   r0  rH    s    #4 4r,   r0  r1  r2  r3  r4  r   r   r5   r0   rE   r  r   )r  r   r   r   r  r8   )r9   r0  r8  r9  r)   r   s         r*   'test_set_index_custom_label_type_raiseszCTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises  s    	4C 	4 ue$uf%AA'&&1AB<]]9C0 	!LL 	! ]]9C0 	#LL&"	# 	#		! 	!	# 	#s   B%	B1%B.1B:c                 n   t        t        j                  j                  d      j                  d            }t	        ddd      }t	        ddd      }|j                  |      }t        j                  |j                  |       |j                  |      }t        j                  |j                  |       y )Nr   r2   z
2011/01/01r   r   2013r   )	r   r%   r&   r'   r   r8   rJ   r   r:   )r9   r)   r   r   s       r*   test_set_index_periodindexz6TestSetIndexCustomLabelType.test_set_index_periodindex  s    ryy,,Q/66q9:L!#>FAC8\\$
bhh-\\$
bhh-r,   N)r   r   r  r;  rE  rK  rN  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_testingrJ   fixturer+   r.   r  r  r   r,   r*   <module>rU     sm   
       6gB gBTHM HMVq. q.r,   