
    m*i                     "   S SK r S SKrS SKrS SKrS SKJrJrJrJ	r	J
r
Jr  S SKJr  \R                  S 5       r\R                  S 5       r\R                  S 5       r\R                  S 5       r " S S5      r " S	 S
5      r " S S5      rS rg)    N)	DataFrameIndex
date_rangelreshapemeltwide_to_longc            
      J   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9n U S	   S
:  R                  [        R                  5      U S'   U S   S
:  R                  [        R                  5      U S'   U $ )N   )
      ABCDz
2000-01-01r   B)periodsfreqcolumnsindexAr   id1id2)
r   nprandomdefault_rngstandard_normalr   listr   astypeint64ress    ^/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/reshape/test_melt.pydfr!      s    

		a 009d6l#r<C
 c(Q,&&rxx0CJc(Q,&&rxx0CJJ    c                      [        / SQ/ SQ/ SQ/5      n [        S5      [        S5      /U l        SS/U R                  l        U $ )N)5:?StgKԲ?)Uy$> M?gK)i<8b->?ghBĒABCabcCAPlow)r   r   r   namesr   s    r    df1r/      sE    
*,+	
C ;U,CKCKKJr"   c                      g)Nvar r2   r"   r    var_namer3   ,       r"   c                      g)Nvalr2   r2   r"   r    
value_namer7   1   r4   r"   c                   T   \ rS rSrS rS rS rS r\R                  R                  S\\\R                  45      S 5       rS r\R                  R                  S	S
/S/S\" SSSS.SSSS.SSSS.S.5      4S/S/S\" SSSS.SSSS.SSSS.S.5      4/5      S 5       r\R                  R                  SSS//S/S/SS//5      S 5       rS rS rS  r\R                  R                  S!SS"/5      S# 5       rS$ r\R                  R                  S%\R4                  " \" S&S'S(S)95      \R4                  " / S*QS+S,9\R4                  " / S-Q5      /5      S. 5       rS/ rS0 rS1 rS2 r S3 r!S4 r"S5 r#S6 r$\R                  R                  S7S8S9/5      S: 5       r%S; r&S< r'S= r(S> r)S? r*S@r+gA)BTestMelt6   c                 ^    [        U5      nUR                  R                  5       SS/:X  d   eg )Nvariablevaluer   r   tolist)selfr!   results      r    test_top_level_methodTestMelt.test_top_level_method7   s+    b~~$$&:w*????r"   c           	      |   [         R                  " UR                  5       [        U5      5        [         R                  " UR                  SS/SS/S9[        USS/SS/S95        [         R                  " UR                  X4S9[        XUS95        [         R                  " UR                  SS9[        USS95        g )	Nr   r   r   r   id_vars
value_varsr3   r7   r   	col_level)tmassert_frame_equalr   )r@   r!   r/   r3   r7   s        r    test_method_signaturesTestMelt.test_method_signatures;   s    
bggib2
GGUENSzGBeU^c
C	

 	GGXG=:>	

 	chhh3T#5KLr"   c                 2   UR                  5       nUR                  R                  5       SS/:X  d   eUR                  S/S9nUR                  R                  5       / SQ:X  d   eUR                  SS/S9nUR                  R                  5       / SQ:X  d   eg )Nr<   r=   r   )rF   )r   r<   r=   r   r   r   r<   r=   r>   )r@   r!   rA   result1result2s        r    test_default_col_namesTestMelt.test_default_col_namesJ   s    ~~$$&:w*????''5''*%%'+GGGG''5%.'1%%'+NNNNr"   c                 p   UR                  SS/SS9n[        U5      S:X  d   eUR                  SS/SS/S9n[        US   R                  5       S-  US   R                  5       S-  S/S-  S/S-  -   US   R                  5       US   R                  5       -   S./ SQS	9n[        R
                  " X45        g )
Nr   r   r   rE   r   r   r
   rP   r   )r   lenr   r?   rK   rL   )r@   r!   result3result4	expected4s        r    test_value_varsTestMelt.test_value_varsT   s    ''5%.S'A7|r!!!''5%.c3Z'H%y'')A-%y'')A- EBJ#3S'..*RW^^-==	 8
	 	g1r"   type_c                 2   [        US   R                  5       S-  US   R                  5       S-  S/S-  S/S-  -   US   R                  5       US   R                  5       -   S./ SQS9nUR                  SS/U" S	5      S
9n[        R                  " XC5        g )Nr   r
   r   r   r   r   rP   rV   r   r   rE   )r   r?   r   rK   rL   )r@   r]   r!   expectedrA   s        r    test_value_vars_typesTestMelt.test_value_vars_typesd   s     %y'')A-%y'')A- EBJ#3S'..*RW^^-==	 8
 %E*<MN
f/r"   c                     [        US   S/[        U5      -  S/[        U5      -  US   S./ SQS9nUR                  S/S/S9n[        R                  " X25        g )Nr   ar   br   rf   )rd   r,   r-   r=   rV   rE   )r   rW   r   rK   rL   )r@   r/   r`   rA   s       r    test_vars_work_with_multiindex'TestMelt.test_vars_work_with_multiindexs   sf    
Ous3x'us3x'Z	 8
 :,J<H
f/r"   z(id_vars, value_vars, col_level, expectedr   r   r   r$   r&   r(   r      r
   r%   r'   r)   )r   r,   r=   re   rf   rk   )re   r-   r=   c                 P    UR                  XUS9n[        R                  " Xd5        g )NrI   )r   rK   rL   )r@   rF   rG   rJ   r`   r/   rA   s          r    %test_single_vars_work_with_multiindex.TestMelt.test_single_vars_work_with_multiindex   s%    @ 'C
f/r"   zid_vars, value_varsrd   rg   c                     Sn[         R                  " [        US9   UR                  XS9  S S S 5        g ! , (       d  f       g = f)NzF(id|value)_vars must be a list of tuples when columns are a MultiIndexmatchrE   )pytestraises
ValueErrorr   )r@   rF   rG   r/   msgs        r    $test_tuple_vars_fail_with_multiindex-TestMelt.test_tuple_vars_fail_with_multiindex   s2     X]]:S1HHWH< 211s	   5
Ac                    UR                  US9nUR                  R                  5       SS/:X  d   eUR                  S/US9nUR                  R                  5       / SQ:X  d   eUR                  SS/US9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	US
9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	S/US
9n[        SUS   R                  5       S-  SUS   R                  5       S-  US	/S-  S/S-  -   SUS	   R                  5       US   R                  5       -   0SSUS/S9n[        R
                  " Xx5        g )N)r3   r1   r=   r   rF   r3   )r   r1   r=   r   )r   r   r1   r=   r   )rF   rG   r3   r   r
   r   rV   r   r   r?   r   rK   rL   )	r@   r!   r3   result5result6result7result8result9	expected9s	            r    test_custom_var_nameTestMelt.test_custom_var_name   s}   ''8',%%'E7+;;;;''5'H'=%%'+BBBB''5%.8'D%%'+IIII''5%.S8'T%%'+IIII''ENSzH  
 r%y'')A-r%y'')A-3%"*urz1"S'..*RW^^-==	 E8W5
	 	g1r"   c                    UR                  US9nUR                  R                  5       SS/:X  d   eUR                  S/US9nUR                  R                  5       / SQ:X  d   eUR                  SS/US9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	US
9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	S/US
9n[        SUS   R                  5       S-  SUS   R                  5       S-  SS	/S-  S/S-  -   X!S	   R                  5       US   R                  5       -   0SSSU/S9n[        R
                  " Xx5        g )N)r7   r<   r6   r   rF   r7   )r   r<   r6   r   )r   r   r<   r6   r   )rF   rG   r7   r   r
   r   rV   rz   )	r@   r!   r7   result10result11result12result13result14
expected14s	            r    test_custom_value_nameTestMelt.test_custom_value_name   s   77j71&&(Z,????77E7z7B&&(,FFFF77E5>j7I&&(,MMMM77ENsz  
 &&(,MMMM77ENSzj  
 r%y'')A-r%y'')A-SEBJ#3W^^-30@@	 E:z:

 	h3r"   c                 v   UR                  X2S9nUR                  R                  5       SS/:X  d   eUR                  S/X2S9nUR                  R                  5       / SQ:X  d   eUR                  SS/X2S9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	UUS
9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	S/UUS
9n[        SUS   R                  5       S-  SUS   R                  5       S-  US	/S-  S/S-  -   X!S	   R                  5       US   R                  5       -   0SSX2/S9n	[        R
                  " X5        UR                  5       n
SU
R                  l        U
R                  5       nUR                  R                  5       SS/:X  d   eg )NrH   r1   r6   r   rF   r3   r7   )r   r1   r6   r   )r   r   r1   r6   r   rF   rG   r3   r7   r   r
   r   rV   foor=   )r   r   r?   r   rK   rL   copyname)r@   r!   r7   r3   result15result16result17result18result19
expected19df20result20s               r    test_custom_var_and_value_name'TestMelt.test_custom_var_and_value_name   s   77H7D&&(UEN:::77E7X7U&&(,AAAA77ENX  
 &&(,HHHH77EN!	  
 &&(,HHHH77ENSz!	  
 r%y'')A-r%y'')A-3%"*urz1W^^-30@@	 E88

 	h3wwy!99;&&(UG,<<<<r"   rJ   r,   c                 f    UR                  US9nUR                  R                  5       SS/:X  d   eg )NrI   r,   r=   r>   )r@   rJ   r/   r   s       r    test_col_levelTestMelt.test_col_level  s2    hhh+{{!!#w'7777r"   c                 h    UR                  5       nUR                  R                  5       / SQ:X  d   eg )N)r,   r-   r=   r>   )r@   r/   r   s      r    test_multiindexTestMelt.test_multiindex  s)    hhj{{!!#'>>>>r"   col2010   z
US/Pacific)r   tz)re   rf   cre   dcategorydtype)r   rk   r   r   r   c                 |   [        [        S5      U/ SQUS.5      n[        R                  " [        R                  " / SQ5      U/SS9n[        USS/SS	S
9n[        [        [        S5      5      S-  [        R                  " U/S-  SS9S/S-  S/S-  -   US.5      n/ SQUl        [        R                  " XE5        g )Nr   )rk   r   r   r   r   )klassr   attr1attr2Tignore_indexr   r   	attributer=   r   r
   r   r   r   rk   r
      )r   r   r   r=   )
r   rangepdconcatSeriesr   r   r   rK   rL   )r@   r   r!   expected_valuerA   r`   s         r    test_pandas_dtypesTestMelt.test_pandas_dtypes  s     Ahs_sS
 BIIo$>#DSWX%(;7
 a>A%99cUQYT:9q=G9q=0!	
 B
f/r"   c                     [        SS/[        R                  " SS/5      S.5      n[        US/S/5      n[        [        R                  " SS/5      SS/SS/S.5      n[        R
                  " X#5        g )	Nrk   r
   XYr_   r   r   )r   r<   r=   )r   r   Categoricalr   rK   rL   )r@   datarA   r`   s       r    test_preserve_categoryTestMelt.test_preserve_category;  so    1vBNNC:,FGHdSEC5)..#s,3*PQSTvV
 	f/r"   c                    [        [        R                  R                  S5      R	                  S5      [        S5      S9nSn[        R                  " [        US9   UR                  SS/S	S
/5        S S S 5        [        R                  " [        US9   UR                  SS/SS
/5        S S S 5        [        R                  " [        US9   UR                  / SQSS
/5        S S S 5        UR                  5       n[        S5      [        S5      /Ul        [        R                  " [        US9   UR                  S/S/5        S S S 5        [        R                  " [        US9   UR                  S/S/SS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       g = f)Nr
   )r   r   abcdrV   zEThe following id_vars or value_vars are not present in the DataFrame:rp   re   rf   Cr   r   r   )re   rf   not_hereor_therer   )Ere   rg   Fr   rI   )r   r   r   r   r   r   rr   rs   KeyErrorr   r   r   )r@   r!   ru   multis       r     test_melt_missing_columns_raises)TestMelt.test_melt_missing_columns_raisesE  s^    II!!!$44V<d6l

 V]]83/GGS#Jc
+ 0 ]]83/GGS#Jc
+ 0 ]]
 GG6c
C	
 	ftF|4]]83/JJ
|j\2 0 ]]83/JJuseqJ1 0/) 0/ 0/
 
 0/ 0/s<   FFF$.F5$G
F
F!$
F25
G
Gc                     [        S/S/S/S/S.5      n[        USS/SS	/S
9n[        S/S-  S/S-  [        S5      SS/S.5      nUS   R                  [        5      US'   [
        R                  " X#5        g )Nr   barrk   r
   )r   re   rf   r   r   re   rf   r   rE   bd)r   re   r<   r=   r<   )r   r   r   r   objectrK   rL   r@   r!   rA   r`   s       r    test_melt_mixed_int_str_id_vars(TestMelt.test_melt_mixed_int_str_id_varsh  s    E7%s!EFb1c(SzB!5'A+4:QRTUPVW
  (
3::6B
f/r"   c                     [        S/S/S.5      n[        USS/S9n[        SS/SS/S.5      n[        R                  " X#5        g )Nr   r   )r   re   r   re   )rG   r<   r=   r   r   rK   rL   r   s       r    "test_melt_mixed_int_str_value_vars+TestMelt.test_melt_mixed_int_str_value_varss  sJ    E7%12baX.1c(eU^LM
f/r"   c                     [        S/S/S.S/S9n[        USS9n[        SS	/SS/S
.SS/S9n[        R                  " X#5        g )Nr   rk   r   r   firstr   Fr   r   r   r   r   r   s       r    test_ignore_indexTestMelt.test_ignore_indexz  sV    sA3/yAbu-1a&9'7AS
 	f/r"   c                 (   [         R                  R                  SS/SS/S9n[        SS/SS	/S
.US9n[	        USS9n[         R                  R                  SS/S-  SS/S9n[        S/S-  S/S-  -   / SQS.US9n[
        R                  " X55        g )N)r   second)r   thirdbazfoobarr.   r   rk   r
   r   r   r   Fr   r   r   r   r   )r   
MultiIndexfrom_tuplesr   r   rK   rL   r@   r   r!   rA   expected_indexr`   s         r    test_ignore_multiindexTestMelt.test_ignore_multiindex  s    )) "45eX=N * 
 1vq!f5UCbu-22 "459%AR 3 
 1w{2\J 

 	f/r"   c                     [        SS/SSS9n[        SS/SS	/S
.US9n[        USS9n[        SS/S-  SSS9n[        / SQ/ SQS.US9n[        R                  " X55        g )Nr   r   r   r   )r   r   r   rk   r
   r   )xyr   Fr   )r   r   r   r   r   r   )r   r   r   rK   rL   r   s         r    test_ignore_index_name_and_type(TestMelt.test_ignore_index_name_and_type  su    uenJUCaV1a&1?bu-u~1%P-E 

 	f/r"   c                     [        / SQ// SQS9nUR                  S/S/S9n[        / SQ/ SQ// S	QS9n[        R                  " X#5        g )
N)idr
   r   )re   rf   rf   rV   re   rf   rE   )r   rf   r
   )r   rf   r   )re   r<   r=   r   r   s       r     test_melt_with_duplicate_columns)TestMelt.test_melt_with_duplicate_columns  sK    ~?#C59^,6P
 	f/r"   r   Int8Int64c                 
   [        [        R                  " SS/SS9[        R                  " SS/US9S.5      nUR                  5       n[        / SQ[        R                  " / S	QUS9S
.5      n[        R
                  " X45        g )Nrk   r
   r   r   r   r   re   rf   )re   re   rf   rf   )rk   r
   r   r   r   )r   r   r   r   rK   rL   )r@   r   r!   rA   r`   s        r    test_melt_ea_dtypeTestMelt.test_melt_ea_dtype  st     YY1vV4YY1vU3
 0<u=
 	f/r"   c                 ,   [        SSSS.SSSS.SS	S
S.S.5      nUR                  R                  S5      Ul        UR                  S/S/S9n[        [	        S5      [
        R                  " S/S-  SS9/ SQS.5      n[        R                  " X#5        g )Nre   rf   r   rj   rk   r   r   r
   r      )r   r   r   zstring[python]r   r   rE   r+   r   )rk   r   r   )r   r<   r=   )	r   r   r   r   r   r   r   rK   rL   r   s       r    test_melt_ea_columnsTestMelt.test_melt_ea_columns  s    -qQ'qQ'
 ZZ&&'78
#C59%[IIseai7GH"
 	f/r"   c                    [        S[        R                  " SSS9[        R                  " SSS9S.S[        R                  " SSS9[        R                  " SSS9S./S	S
/S9nUR                  S/SS/SSS9n[        SSSSS.SSSSS.[        R                  " SSS9[        R                  " SSS9[        R                  " SSS9[        R                  " SSS9S.S.5      n[        R
                  " X#5        g )NA0z
2023/03/01z
Asia/Tokyo)r   z
2023/03/10)type
start_dateend_dateA1z
2023/03/11aaaabbbbr   r   r  r  r  	start/enddater   r   z2023-03-01 00:00:00+0900z2023-03-10 00:00:00+0900z2023-03-11 00:00:00+0900)r  r  r	  )r   r   	Timestampr   rK   rL   r   s       r    test_melt_preserves_datetime%TestMelt.test_melt_preserves_datetime  s    !"$,,|"M "\l K !"$,,|"M "\l K 6"
 H$j1 	  
  Tdt<##!!	 ||$><P||$><P||$><P||$><P	
" 	f/r"   c                     [        / SQ/ SQS./ SQS9nUR                  SSSS	9n[        / SQS
/S-  / SQS.5      n[        R                  " X#5        g Nrk   r
   r   r   r   r   r   112233r  re   r   rk   r   rf   r   )re   r   rk   r   r   s       r    #test_melt_allows_non_scalar_id_vars,TestMelt.test_melt_allows_non_scalar_id_vars  s\     y1$
   

 9#yIJ
f/r"   c                     [        / SQ/ SQS./ SQS9nUR                  S/SSS	9n[        / SQS
/S-  / SQS.5      n[        R                  " X#5        g r  r   r   s       r    $test_melt_allows_non_string_var_name-TestMelt.test_melt_allows_non_string_var_name  s^     y1$
 E  

 9#yIJ
f/r"   c                     [        / SQ/ SQS./ SQS9n[        R                  " [        SS9   UR	                  S/S	S
/S9  S S S 5        g ! , (       d  f       g = f)Nr  r  r   r  r  z.* must be a scalar.rp   re   rk   r
   ry   )r   rr   rs   rt   r   r@   r!   s     r    $test_melt_non_scalar_var_name_raises-TestMelt.test_melt_non_scalar_var_name_raises  sK     y1$
 ]]:-DEGGSEQFG3 FEEs   A


Ar2   N),__name__
__module____qualname____firstlineno__rB   rM   rS   r[   rr   markparametrizetupler   r   arrayra   rh   r   rm   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  __static_attributes__r2   r"   r    r9   r9   6   sD   @MO2  [[WudBHH&=>0 ?00 [[2 !)iIF#&337%.8!H	 !)iIF#&337%.8!H		
:0;:0 [[*&\:&$	
==264:(=T [[[1e*58 68? [[IIj|DEII/zBIIo&	
00(0!2F	0000$00 [[Wvw&780 90"0('0R004r"   r9   c                       \ rS rSrS rSrg)TestLreshapei  c                    / SQ/ SQ/ SQ/ SQ/ SQS[         R                  SSS	/S
[         R                  [         R                  SS// SQS[         R                  SSS/S[         R                  [         R                  SS/S.
n[        U5      n[        SS5       Vs/ s H	  nSUS 3PM     sn[        SS5       Vs/ s H	  nSUS 3PM     snS.n[	        X$5      n/ SQ/ SQ/ SQ/ SQ/ S Q/ S!QS".n[        XeR
                  S#9n[        R                  " XW5        [	        X$S$S%9n/ S&Q/ S'Q/ S(Q/ S)QS*S+S,S-S.S[         R                  SSS	S
[         R                  [         R                  SS/S/SS0S1S2S[         R                  SSSS[         R                  [         R                  SS/S".n[        XeR
                  S#9n[        R                  " XW5        [        SS35       Vs/ s H	  nSUS 3PM     sn[        SS5       Vs/ s H	  nSUS 3PM     snS.nS4n[        R                  " [        US59   [	        X$5        S S S 5        g s  snf s  snf s  snf s  snf ! , (       d  f       g = f)6N)	08jan2009	20dec2008	30dec2008	21dec2008	11jan2009)      C  %  )e   f   g   h   i   )MaleFemaler:  r:  r:  )r.  	22dec2008	04jan2009	29dec2008	20jan2009	21jan2009	22jan2009	31dec2008	03feb2009	05feb2009	02jan2009	15feb2009)i  i
  i  i  i       l@     @     @     ߱@     @     b@     Ų@)
birthdtbirthwtr   sexvisitdt1visitdt2visitdt3wt1wt2wt3rk   r   visitdtr   wt)rV  rW  )r*  r+  r,  r-  r.  r*  r,  r-  r.  r*  r-  r.  )r/  r0  r1  r2  r3  r/  r1  r2  r3  r/  r2  r3  )r4  r5  r6  r7  r8  r4  r6  r7  r8  r4  r7  r8  )r9  r:  r:  r:  r:  r9  r:  r:  r:  r9  r:  r:  )r.  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  )     |@rH       4@     ĩ@     Ұ@rF  rG  rH  rI  rJ  rK  rL  )rM  rN  r   rO  rV  rW  rV   F)dropna)r*  r+  r,  r-  r.  r*  r+  r,  r-  r.  r*  r+  r,  r-  r.  )r/  r0  r1  r2  r3  r/  r0  r1  r2  r3  r/  r0  r1  r2  r3  )r4  r5  r6  r7  r8  r4  r5  r6  r7  r8  r4  r5  r6  r7  r8  )r9  r:  r:  r:  r:  r9  r:  r:  r:  r:  r9  r:  r:  r:  r:  r.  r;  r<  r=  r>  rX  rY  rZ  r[  r   z$All column lists must be same lengthrp   )r   nanr   r   r   r   rK   rL   rr   rs   rt   )	r@   r   r!   ispecrA   exp_dataexpru   s	            r    
test_pairsTestLreshape.test_pairs  sk    6+C %bffk;T$bffbffk;O1BFFFFF;BFFBFFFF;-
2 t_ 27q!=A'!A=',Q{3{!R!u:{3
 "# OuH
R ..9
f*"51"""$ $ mg
P ..9
f* 27q!=A'!A=',Q{3{!R!u:{3
 5]]:S1R 21E >3z >3 21s$   I;II=I-I
I$r2   N)r  r  r   r!  rb  r&  r2   r"   r    r(  r(    s    `r"   r(  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rSrg)TestWideToLongi  c                    [         R                  R                  S5      R                  S5      n[	        SSSS.SSS	S.S
SSS.SSSS.[        [        [        S5      U5      5      S.5      nUR                  US'   UR                  5       UR                  5       -   / SQ/ SQ/ SQ/ SQS.n[	        U5      nUR                  SS/5      / SQ   n[        USS/SSS9n[        R                  " XT5        g )Nr
   r   re   rf   r   rj   r   ef      @333333?ffffff?皙	@?皙?)A1970A1980B1970B1980r   r   re   rf   r   r   rg  rh  ri  rj  rk  rl  rm  rn    rv  rv    rw  rw  r   rk   r
   r   rk   r
   r   r   r   yearr   rz  r   r   r   r   r   r^  jr   r   r   r   r   dictzipr   r   r?   	set_indexr   rK   rL   r@   r   r!   r`  r`   rA   s         r    test_simpleTestWideToLong.test_simple  s    II!!!$44Q7 SS1 SS1 SS1 SS1#eAh*+
 884ahhj(//8$
 X&%%tVn5oFb3*?
f/r"   c                 j    [        / SQ/ SQ/5      n/ SQUl        SS/n[        XSSS9  USS/:X  d   eg )	N)r   rk   r
   r      )r   r   r      	   )r   inc1inc2edu1edu2incedur   ager|  )r   r   r   )r@   r!   stubss      r    
test_stubsTestWideToLong.test_stubs  s?    9:;
R$%0&&&r"   c                    [         R                  R                  S5      R                  S5      n[	        SSSS.SSS	S.S
SSS.SSSS.[        [        [        S5      U5      5      S.5      nUR                  US'   UR                  5       UR                  5       -   / SQ/ SQ/ SQ/ SQS.n[	        U5      nUR                  SS/5      / SQ   n[        USS/SSSS9n[        R                  " XT5        g )Nr
   r   re   rf   r   rj   r   rg  rh  ri  rj  rk  rl  rm  rn  )zA.1970zA.1980zB.1970zB.1980r   r   rs  rt  ru  rx  ry  rz  r{  r   r   .r^  r}  sepr~  r  s         r    test_separating_character(TestWideToLong.test_separating_character%  s     II!!!$44Q7!cc2!cc2!cc2!cc2#eAh*+
 884ahhj(//8$
 X&%%tVn5oFb3*CH
f/r"   c                    [         R                  R                  S5      R                  S5      n[	        SSSS.SSS	S.S
SSS.SSSS.[        [        [        S5      U5      5      S.5      nUR                  US'   UR                  5       UR                  5       -   / SQ/ SQ/ SQ/ SQS.n[	        U5      nUR                  SS/5      / SQ   n[        USS/SSS9n[        R                  " XT5        g )Nr
   r   re   rf   r   rj   r   rg  rh  ri  rj  rk  rl  rm  rn  )zA(quarterly)1970zA(quarterly)1980zB(quarterly)1970zB(quarterly)1980r   r   rs  rt  ru  rx  )r   A(quarterly)B(quarterly)rz  r   rz  )r   r  r  r  r  r|  r~  r  s         r    test_escapable_characters(TestWideToLong.test_escapable_characters?  s    II!!!$44Q7(+$<(+$<(+$<(+$<#eAh*+
 884ahhj(::8$
 X&%%tVn51
 b>>"BdfU
f/r"   c                 @   [        SS/SS/SS/SS/S	.5      nUR                  US
'   / SQ/ SQSS[        R                  [        R                  // SQ/ SQS.n[        U5      nUR	                  S
S/5      / SQ   n[        USS/S
SS9n[        R                  " XC5        g )N      ?       @      @      @      @      @X1X2A2010A2011B2010r   r   r  r  r  r  r  r  r  r  )r   rk   r   rk   )  r    r  )r   r   r   r   rz  rz  r{  r   r   r|  )r   r   r   r]  r  r   rK   rL   r@   r!   r`  r`   rA   s        r    test_unbalancedTestWideToLong.test_unbalancedY  s    sssD\	
 884)%sBFFBFF+,
 X&%%tVn5oFb3*?
f/r"   c                 Z   [        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  US	'   [        / S
Q/ S
Q/ SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  S	S/5      / SQ   n[        U/ SQS	SS9n[        R
                  " UR                  SS9UR                  SS95        g )Na11a22a33a21r  a23b11b12b13b21b22b23r  r  [   \   ]   )A11A12B11B12BB11BB12BBBXBBBZr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rk   r
   r   r   r   r   rx     r  r     r  r  )r  r  r   r   BBr   rz  rz  )r  r  r   r   r  r   r   r  r|  rk   axisr   r   r  r   rK   rL   
sort_indexr@   r!   r`   rA   s       r    test_character_overlap%TestWideToLong.test_character_overlapp  s    ,,,,!!$$	
 88400??((0

 %%tVn56VWb"2dfE
f//Q/79L9LRS9L9TUr"   c           	         Sn[        SS/SS/SS/SS	/S
.5      nUR                  US'   S/ / / / / / / S.n[        U5      R                  S[        R                  05      nUR                  SS/5      / SQ   nUR                  R                  SS/SS9Ul        [        USS/SSUS9n[        R                  " UR                  SS9UR                  SS95        g )Nznope!r  r  r  r  r  r  r  r  r  r    )r   r  r  r  r   rz  r   r   rz  )r   r  r  r  r   r   r   rk   levelr   r   r  r  r   r   r   r   r   r  
set_levelsr   rK   rL   r  )r@   r  r!   r`  r`   rA   s         r    test_invalid_separator%TestWideToLong.test_invalid_separator  s    sssD\	
 884	
 X&--vrxx.@A%%tVn56
 "22Aq62Cb3*CH
f//Q/79L9LRS9L9TUr"   c                 Z   [        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  US	'   [        / S
Q/ S
Q/ SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  S	S/5      / SQ   n[        U/ SQS	SS9n[        R
                  " UR                  SS9UR                  SS95        g )Nr  r  r  r  r  r  r  )r  r  r  r  r  r  AratingArating_oldr   r  r  r  r  rx  r  )r  r  r   r   r  r   rz  rz  )r  r  r   r   r  r  r|  rk   r  r  r  s       r    test_num_string_disambiguation-TestWideToLong.test_num_string_disambiguation  s     ,,,,!!'+	
 88437??((0

 %%tVn56
 b"2dfE
f//Q/79L9LRS9L9TUr"   c           	         [        SS/SS/SS/SS/S	.5      nUR                  US
'   S/ / / / / / / S.n[        U5      R                  S[        R                  05      nUR                  S
S/5      nUR                  R                  SS/SS9Ul        [        USS/S
SS9n[        R                  " UR                  SS9UR                  SS95        g )Nr  r  r  r  r  r  r  r  )AoneAtwoBoner   r   r  )r   r  r  r  r   rz  r   r   rz  r   rk   r  r   r   r|  r  r  r  s        r    test_invalid_suffixtype&TestWideToLong.test_invalid_suffixtype  s     c
c
c
D\	
 884	
 X&--vrxx.@A%%tVn5!22Aq62Cb3*?
f//Q/79L9LRS9L9TUr"   c                     [        / SQ/ SQ/ SQ/ SQS.5      n[        / SQ/ SQ/ SQ/ S	QS
.5      nUR                  / SQ5      S/   n[        USSS/SS9n[        R                  " X25        g )N)	rk   rk   rk   r
   r
   r
   r   r   r   )	rk   r
   r   rk   r
   r   rk   r
   r   )	ffffff@333333@皙@r
   ?ffffff?r  ffffff@ @)	333333@ffffff@r  rl  r  333333@ffffff
@r  r  )famidbirthht1ht2)r  r  r  r  r  r  r  rl  r  r  r  r  r  r  r  r  r  r  )rk   rk   rk   rk   rk   rk   r
   r
   r
   r
   r
   r
   r   r   r   r   r   r   )rk   rk   r
   r
   r   r   rk   rk   r
   r
   r   r   rk   rk   r
   r
   r   r   )rk   r
   rk   r
   rk   r
   rk   r
   rk   r
   rk   r
   rk   r
   rk   r
   rk   r
   )htr  r  r  )r  r  r  r  r  r  r  r|  r   r  r   rK   rL   r  s       r    test_multiple_id_columns'TestWideToLong.test_multiple_id_columns  s|    44BD	
 ( POM/
6 %%&?@$Hb$7G*<F
f/r"   c                     [        / SQ/ SQ/ SQS.5      nSn[        R                  " [        US9   [	        USS/SS	S
9  S S S 5        g ! , (       d  f       g = f)N)rk   r
   r   r   r   )rk   rk   rk   rk   rk   )A_A1B_B1r   z3the id variables need to uniquely identify each rowrp   A_AB_Br   colnamer|  r   rr   rs   rt   r   r@   r!   ru   s      r    test_non_unique_idvars%TestWideToLong.test_non_unique_idvars  sL     $oOT
 D]]:S1eU^si@ 211s   A		
Ac                     [        / SQ/ SQ/ SQ/ SQ/ SQS.5      n[        / SQ/ SQ/ S	Q/ S
QS.5      R                  SS/5      n[        USS/SSSS9n[        R                  " X25        g )N)CCH PounderJohnny DeppChristoph Waltz)Joel David MooreOrlando BloomRory Kinnear)     @@     @     |@)     @@     @     x@)AvatarPirates of the CaribbeanSpectre)actor_1actor_2actor_fb_likes_1actor_fb_likes_2title)r  r  r  r  r  r  )r  r  r  r  r  r  )rk   rk   rk   r
   r
   r
   )r  r  r  r  r  r  )actoractor_fb_likesnumr#  r#  r&  r$  r%  _r  r  r  s       r    test_cast_j_intTestWideToLong.test_cast_j_int  s    LP$>$:J
  #S)
* )We$
%+ 	, *+w%S
 	f/r"   c                     [        SS/SS/SS/SS/S	.5      nS
n[        R                  " [        US9   [	        USS/SSS9  S S S 5        g ! , (       d  f       g = f)Nr  r  r  r  r  r  r  r  )r  r  r  r   z,stubname can't be identical to a column namerp   r   r   r
  r|  r  r  s      r    test_identical_stubnames'TestWideToLong.test_identical_stubnamesD  s`    sssD\	
 =]]:S1c3Z3)< 211s   A
Ac           	         [        SS/SS/SS/SS/S	.5      n[        / S
Q/ SQSS[        R                  [        R                  // SQS.5      nUR                  SS/5      n[	        USS/SSSSS9n[
        R                  " X25        g )Nr  r  r  r  r  r  r  r  )treatment_placebotreatment_testresult_placebor   r  )placebor1  testr2  r  r   r
  rA   	treatmentr   r
  rA   r4  z[a-z]+r'  r^  r}  suffixr  r   r   r]  r  r   rK   rL   r  s       r    test_nonnumeric_suffix%TestWideToLong.test_nonnumeric_suffixQ  s    &)3Z#&*#&*D\	
 -ARVVRVV41	
 %%sI&67;'3)HRU
 	f/r"   c           	          [        SS/SS/SS/SS/S	S
/S.5      n[        / SQ/ SQ/ SQ/ SQS.5      R                  SS/5      n[        USS/SSSSS9n[        R                  " X25        g )Nr  r  r   r  r  r  r  r  r  r  )r   result_1
result_footreatment_1treatment_foor  )1r?  r   r   )              "@r  r  r  r3  r   r
  rA   r4  z.+r'  r5  r  r  s       r    test_mixed_type_suffix%TestWideToLong.test_mixed_type_suffixh  s    D\F"Cj #Sz"%s
 -3.1	
 )S)$
% 	 ;'3)Dc
 	f/r"   c                    [        SS/SS/SS/SS/S	S
/S.5      n[        / SQ/ SQSSSS[        R                  [        R                  [        R                  [        R                  /[        R                  [        R                  [        R                  [        R                  SSSS/S.5      nUR                  SS/5      n[	        USS/SSSSS9n[
        R                  " X25        g )Nr  r  r  r  r  r  r   r  r  r  )ztreatment_1.1ztreatment_2.1z
result_1.2r;  r   )r  r  r  r  r  r  r  r  )rj  rj  r  r  皙?rE  r  r  r@  rA  r3  r   r
  rA   r4  z[0-9.]+r'  r5  r7  r  s       r    test_float_suffix TestWideToLong.test_float_suffix  s    "%s"%s"CjFD\
 ECS#rvvrvvrvvrvvN ffbffbffbffc3SQ	
 %%sI&67;'3)ISV
 	f/r"   c           
          SSSSSS.SSS	S
SS.SSSSSS.SSSSSS.SSSSSS.S.n[         R                  " U5      n[        US/SS/SS9n[        USSS/SS9n[        R                  " XC5        g )Nr   rk   r
   r   r   )r   rk   r
   r   r   g?r@  g      ?r  gQ?gGz?gQ?g\(\?g333333?gp=
ף?g{Gz?gp=
ף?gq=
ףp?g(\?rk  )node_idr   PA0PA1PA3PArI  r   time)	stubnamesr^  r}  )r   	from_dictr   rK   rL   )r@   	wide_datawide_dfr`   rA   s        r    test_col_substring_of_stubname-TestWideToLong.test_col_substring_of_stubname  s    
 qQ15cdst<$3?$4@$4@
	 %%i0D6i=MQWXg)S9IVT
f/r"   c                     [        [        S5      [        SSS5      S.5      n[        R                  " [
        [        R                  " S5      S9   UR                  SSS	9  S S S 5        g ! , (       d  f       g = f)
Nr*   r      r
   )r   r=   zvalue_name (value) cannot matchrp   r=   r   )	r   r   r   rr   rs   rt   reescaper   r  s     r    test_raise_of_column_name_value.TestWideToLong.test_raise_of_column_name_value  s]     tE{U2r15EFG]]bii(IJ
 GGGG8
 
 
s   A**
A8c                 T   U(       a2  US:X  a,  UR                  [        R                  R                  SS95        [	        SS/SS/SS	/S
.5      nUR                  SU05      n[        USS/SSSS9n[        / SQSS9n[	        / SQ[        R                  /S-  S.US9nUR                  R                  S   R                  U5      nUS:X  a(  UR                  R                  S   R                  S5      nUR                  R                  USS9Ul
        [        R                  " XW5        g )Nr   zTODO(infer_string))reasonr?  2d      ,    )r   za-1za-2r   re   rf   r&  -)rO  r^  r}  r  ))r?  rk   )r]  rk   )r?  r
   )r]  r
   )r   r&  )r   )r^  r_  r`  ra  r   r   r   r   strr  )applymarkerrr   r"  xfailr   r   r   r   r   r]  r   levelsr  rK   rL   )	r@   requestany_string_dtypeusing_infer_stringr!   rA   r   r`   	new_levels	            r    test_missing_stubname$TestWideToLong.test_missing_stubname  s!   "2h"> 1 19M 1 NOsCj#sS#JOPYY./0Cj
 4
 &bffX\:
 NN))!,334DE	x' --a077>I!229A2F
f/r"   r2   N)r  r  r   r!  r  r  r  r  r  r  r  r  r  r  r  r(  r+  r8  rB  rF  rS  rY  rk  r&  r2   r"   r    re  re    si    00'04040.V<V<VBV:'0RA%0N=0.0.000 	90r"   re  c                    [         R                  " U [        R                  S9n[	        SS0SS0SS0SS0SS0S.5      nUR
                  R                  U5      Ul        [        USSSS	S
S9n[	        SS/SS/SS//[        SS/5      [         R                  R                  / SQ[        / SQUS9/SS/S9S9n[        R                  " X45        g )N)na_valuer   rk   r
   )IDR_test1R_test2R_test3DRro  	UNPIVOTEDr'  z.*)rO  r^  r}  r  r6  rs  )rk   rk   rk   )test1test2test3r   r   r   )r   StringDtyper   r]  r   r   r   r   r   r   from_arraysrK   rL   )string_storagestring_dtyper!   rA   r`   s        r     test_wide_to_long_string_columnsr}    s    >>.266BL	a&1v1v1vQ	

B ""<0BJ
cT[c$F 
Q!Q!Q sCj!mm''1F % ( 

H &+r"   )rW  numpyr   rr   pandasr   r   r   r   r   r   r   pandas._testing_testingrK   fixturer!   r/   r3   r7   r9   r(  re  r}  r2   r"   r    <module>r     s    	        
 
    e4 e4Pa aHJ0 J0Z,r"   