
    ih                         d Z ddlmZmZ ddlZddlZddlm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)Pandas4Warning)
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    f/app/cer_product_mecsu/.venv/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   )r6   r   tuples)r   r   from_tuples	set_index)selfr   r*   r7   indexs        r+   test_set_index_multiindexz&TestSetIndex.test_set_index_multiindex;   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 )Nr6   r   )r   pr   
   )r   mr1         )r   r@   r>   r2         )r   r@   r>   xcolumnsr   rE   r@   r>   names)r   r9   r   from_arraysr;   tmassert_frame_equal)r:   r*   resultexpecteds       r+   test_set_index_empty_columnz(TestSetIndex.test_set_index_empty_columnF   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   r9   r;   to_framedtypesrK   assert_series_equal)r:   df1df2rM   rN   s        r+   test_set_index_empty_dataframez+TestSetIndex.test_set_index_empty_dataframeX   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   r6   )r   r   )r   r6   r   )r1   r1   rF   r   r6   )r   r8   r   r&   r'   r(   r)   r9   rG   ilocvaluesr;   rI   rK   rL   )r:   rG   r*   rM   rN   s        r+    test_set_index_multiindexcolumnsz-TestSetIndex.test_set_index_multiindexcolumnsc   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   rA   )r	   
tz_convertr   r9   r;   hourr   r   )r:   idxr*   s      r+   test_set_index_timezonez$TestSetIndex.test_set_index_timezonep   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  r6   r   r   r   r   )r   ranger   r   r&   r'   r(   r)   r9   
isinstancer;   r	   )r:   ir*   idfs       r+   !test_set_index_cast_datetimeindexz.TestSetIndex.test_set_index_cast_datetimeindexy   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:00r1   h
US/Pacific)periodsfreqrb   r   r6   r   )r1   r2   r   )r   r   )datar;   r;   namer   rH   r   r;   )r   r   reset_indexr9   r
   r;   
_with_freqrK   rL   r   rJ   )r:   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                 p   |}t        t        j                  t        |      dz
  ddt        j                              }|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)Nr6   rQ   zLength mismatchmatchr   )r
   r&   arangelenrS   r9   rK   assert_index_equalr;   pytestraises
ValueError)r:   float_string_framer*   re   s       r+   test_set_indexzTestSetIndex.test_set_index   s    BIIc"gk2rBC\\#
bhh,]]:->? 	#LLSqS"	# 	# 	#s   B,,B5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?   r2   ABCDrQ   r?   zi-)rG   r;   rv   r   r   rH   )r   r   r   r   )r   r   r   r    r   r    )r   r&   onesr
   listobjectri   r;   rv   r9   rI   r   rJ   Tr]   rj   rK   r   rename)r:   rk   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 )NrH   ru   r6   axisT)r   r   )r   )rj   r   r   rJ   r
   r   r;   copyr9   rK   rL   )r:   r,   r   r   r   r*   rE   re   rN   rM   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                 Z   |}t        |t              r|n|g}t        j                  |j                  g|D cg c]  }||   	 c}z   d g|      }|r|j                  |d      n|j                         }||_        |j                  ||d      }t        j                  ||       y c c}w )NrH   r6   r   Tr   append)
rj   r   r   rJ   r;   r   r   r9   rK   rL   )	r:   r,   r   r   r*   rE   re   rN   rM   s	            r+   test_set_index_appendz"TestSetIndex.test_set_index_append   s     !!$-tD6$$XXJ.A"Q%..tmdm
 -12774a7(bggidd;
fh/ /s   B(
c                     |j                  dg|d      }t        |t              r|n|g}|j                  dg||d      }|j                  ||d      }t        j                  ||       y )Nr    Tr   )r9   rj   r   rK   rL   )r:   r,   r   r   r*   rN   rM   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 )Nrs   rT   )valkeyr   r6   r   r   r   r   ru   c                     | dk\  S )Nr6    )indxs    r+   <lambda>z<TestSetIndex.test_set_index_after_mutation.<locals>.<lambda>   s
    tqy r-   )r   r
   locr;   mapr9   rK   rL   )r:   r*   rN   rY   rM   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   rE   s    r+   r   zTestSetIndex.<lambda>  s    tAwi r-   c                 .    t        j                  | g      S r   r   rJ   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|
n|
|j                   _        t        j                  ||       y # 1 sw Y   y xY w)Nr   z%['one', 'two', 'three', 'one', 'two']r   r   rI   rv   F)r;   rv   r   r   r   KeyErrorr9   getattrrI   rK   rL   )r:   r,   r   r   
index_namer   r*   r   msgname_mirv   rM   rN   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#6#6dHNN !!&(3< <s   CC#c                 .    t        j                  | g      S r   r   r   s    r+   r   zTestSetIndex.<lambda>0  s    9O9OQRPS9T r-   )r   Tr   r   r   r   c                 r   |}||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|n||
j                   _	        t        j                  |	|
       y )Nr   r   r   Fr6   r   )r;   rv   r&   arrayr   r#   iterr9   r   rI   rK   rL   )r:   r,   r   r   r   r   r*   r   rI   rM   rN   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=
3U35
fh/r-   box2c                 .    t        j                  | g      S r   r   r   s    r+   r   zTestSetIndex.<lambda>V  r   r-   c                     | j                   S r   ru   r   s    r+   r   zTestSetIndex.<lambda>W  
    aff r-   box1c                 .    t        j                  | g      S r   r   r   s    r+   r   zTestSetIndex.<lambda>b  r   r-   c                     | j                   S r   ru   r   s    r+   r   zTestSetIndex.<lambda>c  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   r6   FT)r;   rv   r9   rj   strrK   rL   )r:   r,   r   r   r   r   r   r*   r   rM   
first_droprN   s               r+   $test_set_index_pass_arrays_duplicatez1TestSetIndex.test_set_index_pass_arrays_duplicateN  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   rH   r   F)r   rJ   r9   rK   rL   )r:   r,   r   r   r*   r   rM   rN   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   ru   r   r?   rh   )r   r   r   r&   r'   r(   r)   r]   r9   rK   r   r;   rx   )r:   cir*   rl   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)r6   r   r6   r6   r   )r?            "   abaabbacF)
categoriesorderedT)r   r   C1C2r   r   r   rF   )	r   r   r   r9   rx   reindexrG   rK   rL   )r:   r*   colsrM   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   r3   )r%   r   valuer   T)utcrp   )r   r   r   ru   r`   r%   r   r   r6   r   r   r   z
US/Easternra   )2012-04-01 09:00r   r   2012-04-02 09:00r   r   z2011-01-01 09:00z
Asia/Tokyo)rq   rb   r   r   )r   ri   r   popr;   rc   r	   tz_localizer9   rK   r   levelsr
   rI   	swaplevelr&   r'   r(   r   ry   get_level_values)r:   r*   rN   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   r3   z
2011-01-01r1   Mrq   rr   z2013-01-01 09:00ro   2005YTr   r   r6   )r   r&   r'   r(   r   r   r9   rK   r   r;   r   r   )r:   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<   rO   rZ   r^   rf   rm   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/   :   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      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                    |}d}t        j                  t        d      5  t        j                  t
        |      5  |j                  dd       d d d        d d d        t        j                  t        d      5  t        j                  t
        |      5  |j                  |d   |d   gd       d d d        d d d        y # 1 sw Y   uxY w# 1 sw Y   yxY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nz5The 'verify_integrity' keyword in DataFrame.set_indexzIndex has duplicate keysr   r   T)verify_integrity)r   r   r   rK   assert_produces_warningr   r9   )r:   r,   r*   r   s       r+   test_set_index_verify_integrityz3TestSetIndexInvalid.test_set_index_verify_integrity%  s     E]]:-GH 	9++N#F 9S489	9 ]]:-GH 	H++N#F Hbgr#w/$GH	H 	H9 9	9 	9
H H	H 	HsF   CCC;C(C3C(C		CCC%	!C((C1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   r9   r#   )r:   r,   r   r   r*   r   s         r+   test_set_index_raise_keysz-TestSetIndexInvalid.test_set_index_raise_keys1  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<c           	      X   t         }|}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   )setr   r   	TypeErrorr9   )r:   r,   r   r   r   r*   r   s          r+   test_set_index_raise_on_typez0TestSetIndexInvalid.test_set_index_raise_on_typeG  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)r   c                 .    t        j                  | g      S r   r   r   s    r+   r   zTestSetIndexInvalid.<lambda>Y  s    *2H2H!2M r-   )r   r
   znp.arrayr   r   )idslengthr2   r3   	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   r9   r   )	r:   r,   r   r  r   r   r*   r]   r   s	            r+   test_set_index_raise_on_lenz/TestSetIndexInvalid.test_set_index_raise_on_lenW  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  $  s?   
H [[Xe}5[[VdE]3S 4 6S( [[Xe}5[[VdE]3Q 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   rv   colorr:   rv   r$  s      r+   __init__zTTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__init__w       	"
r-   c                 "    d| j                   dS Nz<Thing >ru   r:   s    r+   __str__zSTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__str__{       Q//r-   r!  N)r   r  r  r&  r   r,  __repr__r   r-   r+   Thingr   v  s    #0 0 Hr-   r0  OneredTwobluer   r6   r   r1   ru   rw   Threepinkz<Thing 'Three'>r   )r   r
   r9   rK   rL   r   r   r   	r:   r0  thing1thing2r*   rN   rM   thing3r   s	            r+    test_set_index_custom_label_typez<TestSetIndexCustomLabelType.test_set_index_custom_label_types  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   repr)r:   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   r6   r   r1   ru   rw   r5  r6  z frozenset\(\{'Three', 'pink'\}\)r   )		frozensetr   r
   r9   rK   rL   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                 "    d| j                   dS r)  ru   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  rI    s    #0 0r-   r0  r1  r2  r3  r4  r   r   r6   r1   rF   r  r   )r  r   r   r   r  r9   )r:   r0  r8  r9  r*   r   s         r+   'test_set_index_custom_label_type_raiseszCTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises  s    	0C 	0 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   r3   z
2011/01/01r   r   2013r   )	r   r&   r'   r(   r   r9   rK   r   r;   )r:   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;  rF  rL  rO  r   r-   r+   r  r  r  s    $#L%#N#4	.r-   r  )__doc__r   r   numpyr&   r   pandas.errorsr   pandasr   r   r   r	   r
   r   r   r   r   r   pandas._testing_testingrK   fixturer,   r/   r  r  r   r-   r+   <module>rW     sp   
   (     6gB gBTKM KM\q. q.r-   