a
    j=ic                     @   s   d dl Zd dlZd dlZd dlmZmZmZmZ d dl	m
Z ejdd Zejdd Zejdd Zejd	d
 ZG dd dZG dd dZG dd dZdS )    N)	DataFramelreshapemeltwide_to_longc                  C   sD   t  d d } | d dktj| d< | d dktj| d< | S )N
   Ar   id1Bid2)tmZmakeTimeDataFrameastypenpint64res r   o/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/pandas/tests/reshape/test_melt.pydf   s    r   c                  C   s<   t g dg dg dg} tdtdg| _ddg| j_| S )N)5:?StgKԲ?)Uy$> M?gK)i<8b->?ghBĒABCabcCAPlow)r   listcolumnsnamesr   r   r   r   df1   s    r!   c                   C   s   dS )Nvarr   r   r   r   r   var_name$   s    r#   c                   C   s   dS )Nvalr   r   r   r   r   
value_name)   s    r%   c                   @   s  e Zd Zdd Zdd Zdd Zdd Zej	d	e
eejfd
d Zdd Zej	ddgdgdedddddddddddddfdgdgdedddddddddddddfgdd Zej	d d!d"ggd!gd"gd!d"ggd#d$ Zd%d& Zd'd( Zd)d* Zej	d+dd,gd-d. Zd/d0 Zej	d1eejd2d3d4d5ejg d6d7d8eg d9gd:d; Zd<d= Zd>d? Zd@dA ZdBdC ZdDdE Z dFdG Z!dHdI Z"dJdK Z#dLS )MTestMeltc                 C   s"   t |}|j ddgksJ d S )Nvariablevaluer   r   tolist)selfr   resultr   r   r   test_top_level_method/   s    zTestMelt.test_top_level_methodc                 C   s   t | t| t |jddgddgdt|ddgddgd t |j||dt|||d t |jddt|dd d S )	Nr   r
   r   r	   id_vars
value_varsr#   r%   r   	col_level)r   assert_frame_equalr   )r+   r   r!   r#   r%   r   r   r   test_method_signatures3   s    zTestMelt.test_method_signaturesc                 C   sl   |  }|j ddgksJ |j dgd}|j g dksBJ |j ddgd}|j g dkshJ d S )Nr'   r(   r   r/   )r   r'   r(   r
   r   r
   r'   r(   r)   )r+   r   r,   Zresult1Zresult2r   r   r   test_default_col_namesB   s    zTestMelt.test_default_col_namesc                 C   s   |j ddgdd}t|dks"J |j ddgddgd}t|d  d |d  d dgd dgd  |d  |d   dg dd	}t|| d S )
Nr   r
   r   r.   r   r	      r7   r   )r   lenr   r*   r   r4   )r+   r   Zresult3Zresult4Z	expected4r   r   r   test_value_varsL   s    	zTestMelt.test_value_varstype_c                 C   s|   t |d  d |d  d dgd dgd  |d  |d   dg dd}|jddg|d	d
}t|| d S )Nr   r9   r
   r   r   r	   r7   r:   r   r	   r.   )r   r*   r   r   r4   )r+   r=   r   expectedr,   r   r   r   test_value_vars_types\   s    	zTestMelt.test_value_vars_typesc                 C   sX   t |d dgt| dgt| |d dg dd}|jdgdgd}t|| d S )Nr   ar	   br	   rC   )rA   r   r   r(   r:   r.   )r   r;   r   r   r4   )r+   r!   r?   r,   r   r   r   test_vars_work_with_multiindexk   s    
z'TestMelt.test_vars_work_with_multiindexz(id_vars, value_vars, col_level, expectedr   r	   r   r   r   r   r      r9   r   r   r   )r   r   r(   rB   rC   rG   )rB   r   r(   c                 C   s    |j |||d}t|| d S )Nr2   )r   r   r4   )r+   r/   r0   r3   r?   r!   r,   r   r   r   %test_single_vars_work_with_multiindexy   s     z.TestMelt.test_single_vars_work_with_multiindexzid_vars, value_varsrA   rD   c                 C   sD   d}t jt|d |j||d W d    n1 s60    Y  d S )NzF(id|value)_vars must be a list of tuples when columns are a MultiIndexmatchr.   )pytestraises
ValueErrorr   )r+   r/   r0   r!   msgr   r   r   $test_tuple_vars_fail_with_multiindex   s    z-TestMelt.test_tuple_vars_fail_with_multiindexc           	      C   s"  |j |d}|j ddgks"J |j dg|d}|j g dksHJ |j ddg|d}|j g dkspJ |j ddgd	|d
}|j g dksJ |j ddgd	dg|d
}td|d  d d|d  d |d	gd dgd  d|d	  |d   idd|dgd}t|| d S )N)r#   r"   r(   r   )r/   r#   )r   r"   r(   r
   )r   r
   r"   r(   r   )r/   r0   r#   r	   r9   r   r:   r   r   r*   r   r   r4   )	r+   r   r#   Zresult5Zresult6Zresult7Zresult8Zresult9Z	expected9r   r   r   test_custom_var_name   s(    
	zTestMelt.test_custom_var_namec           	      C   s"  |j |d}|j ddgks"J |j dg|d}|j g dksHJ |j ddg|d}|j g dkspJ |j ddgd	|d
}|j g dksJ |j ddgd	dg|d
}td|d  d d|d  d dd	gd dgd  ||d	  |d   iddd|gd}t|| d S )N)r%   r'   r$   r   )r/   r%   )r   r'   r$   r
   )r   r
   r'   r$   r   )r/   r0   r%   r	   r9   r   r:   rP   )	r+   r   r%   Zresult10Zresult11Zresult12Zresult13Zresult14Z
expected14r   r   r   test_custom_value_name   s,    

	zTestMelt.test_custom_value_namec                 C   s\  |j ||d}|j ddgks$J |j dg||d}|j g dksLJ |j ddg||d}|j g dksvJ |j ddgd	||d
}|j g dksJ |j ddgd	dg||d
}td|d  d d|d  d |d	gd dgd  ||d	  |d   idd||gd}	t||	 | }
d|
j_|
  }|j ddgksXJ d S )Nr1   r"   r$   r   r/   r#   r%   )r   r"   r$   r
   )r   r
   r"   r$   r   )r/   r0   r#   r%   r	   r9   r   r:   foor(   )r   r   r*   r   r   r4   copyname)r+   r   r%   r#   Zresult15Zresult16Zresult17Zresult18Zresult19Z
expected19Zdf20Zresult20r   r   r   test_custom_var_and_value_name   sD    

	z'TestMelt.test_custom_var_and_value_namer3   r   c                 C   s&   |j |d}|j ddgks"J d S )Nr2   r   r(   r)   )r+   r3   r!   r   r   r   r   test_col_level  s    zTestMelt.test_col_levelc                 C   s"   |  }|j g dksJ d S )N)r   r   r(   r)   )r+   r!   r   r   r   r   test_multiindex  s    zTestMelt.test_multiindexcolZ2010   z
US/Pacific)Zperiodstz)rB   rC   crB   dcategory)dtype)r   rG   r   r   r   c                 C   s   t td|g d|d}tjtg d|gdd}t|ddgdd	d
}t ttdd tj|gd dddgd dgd  |d}g d|_t	|| d S )Nr[   )rG   r   r   r   r   )klassrZ   attr1attr2TZignore_indexra   rZ   	attributer(   rS   r9   rb   rc   r   rG   r9      )ra   rZ   re   r(   )
r   rangepdconcatSeriesr   r   r   r   r4   )r+   rZ   r   Zexpected_valuer,   r?   r   r   r   test_pandas_dtypes  s     

zTestMelt.test_pandas_dtypesc                 C   s^   t ddgtddgd}t|dgdg}t tddgddgddgd}t|| d S )	NrG   r9   XYr>   r	   r   )r	   r'   r(   )r   ri   ZCategoricalr   r   r4   )r+   datar,   r?   r   r   r   test_preserve_category4  s    zTestMelt.test_preserve_categoryc                 C   s  t tjddtdd}d}tjt|jdddd	$ |	d
dgddg W d    n1 s`0    Y  tjt|jdddd	$ |	ddgddg W d    n1 s0    Y  tjt|jdddd	$ |	g dddg W d    n1 s0    Y  |
 }tdtdg|_tjt|jdddd	  |	dgdg W d    n1 s\0    Y  tjt|jdddd	$ |j	dgdgdd W d    n1 s0    Y  d S )Nr[      abcdr:   z=The following '{Var}' are not present in the DataFrame: {Col}r0   z\['C'\])ZVarZColrI   rB   rC   Cr^   r/   z\['A'\]r   r]   z\['not_here', 'or_there'\])rB   rC   Znot_hereZor_thereABCDz\['E'\])ErB   rD   z\['F'\]Fr   r2   )r   r   randomrandnr   rK   rL   KeyErrorformatr   rU   r   )r+   r   rN   multir   r   r    test_melt_missing_columns_raises>  s*    2220z)TestMelt.test_melt_missing_columns_raisesc                 C   sf   t dgdgdgdgd}t|ddgdd	gd
}t dgd dgd tdddgd}t|| d S )NrT   barrG   r9   )r   rB   rC   r^   r   rB   rC   r^   r.   Zbd)r   rB   r'   r(   )r   r   r   r   r4   r+   r   r,   r?   r   r   r   test_melt_mixed_int_str_id_varsc  s     z(TestMelt.test_melt_mixed_int_str_id_varsc                 C   sH   t dgdgd}t|ddgd}t ddgddgd}t|| d S )NrT   r}   )r   rB   r   rB   )r0   r'   r(   r   r   r   r4   r~   r   r   r   "test_melt_mixed_int_str_value_varsl  s    z+TestMelt.test_melt_mixed_int_str_value_varsc                 C   sR   t dgdgddgd}t|dd}t dd	gddgd
ddgd}t|| d S )Nr   rG   rT   r}   firstindexFrd   rT   r}   r   r   r~   r   r   r   test_ignore_indexs  s    zTestMelt.test_ignore_indexc                 C   s   t jjddgddgd}tddgdd	gd
|d}t|dd}t jjddgd ddgd}tdgd dgd  g dd|d}t|| d S )N)r   second)r   thirdbazZfoobar)r    r   rG   r9   rg   r   r   Frd   rT   r}   rf   r   )ri   Z
MultiIndexfrom_tuplesr   r   r   r4   r+   r   r   r,   Zexpected_indexr?   r   r   r   test_ignore_multiindex|  s    zTestMelt.test_ignore_multiindexc                 C   s|   t jddgddd}tddgdd	gd
|d}t|dd}t jddgd ddd}tg dg dd|d}t|| d S )NrT   r}   r_   r   )r`   rV   r   rG   r9   rg   )xyr   Frd   )r   r   r   r   rf   r   )ri   Indexr   r   r   r4   r   r   r   r   test_ignore_index_name_and_type  s    z(TestMelt.test_ignore_index_name_and_typec                 C   sT   t g dgg dd}|jdgdgd}t g dg dgg d	d}t|| d S )
N)idr9   rg   )rB   rC   rC   r:   rB   rC   r.   )r   rC   r9   )r   rC   rg   )rB   r'   r(   r   r~   r   r   r    test_melt_with_duplicate_columns  s    z)TestMelt.test_melt_with_duplicate_columnsN)$__name__
__module____qualname__r-   r5   r8   r<   rK   markparametrizetupler   r   arrayr@   rE   r   rH   rO   rQ   rR   rW   rX   rY   ri   rk   Z
date_rangerl   rp   r|   r   r   r   r   r   r   r   r   r   r   r&   .   s|   









+


%		r&   c                   @   s   e Zd Zdd ZdS )TestLreshapec                 C   s   g dg dg dg dg ddt jddd	gd
t jt jddgg ddt jdddgdt jt jddgd
}t|}dd tddD dd tddD d}t||}g dg dg dg dg d g d!d"}t||jd#}t|| t||d$d%}g d&g d'g d(g d)d*d+d,d-d.dt jddd	d
t jt jddgd/dd0d1d2dt jddddt jt jddgd"}t||jd#}t|| tt	  t||d$d3d4 W d    n1 s0    Y  d5d tdd6D d7d tddD d}d8}t
jt|d9 t|| W d    n1 s0    Y  d S ):N)	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   sexZvisitdt1Zvisitdt2Zvisitdt3Zwt1Zwt2Zwt3c                 S   s   g | ]}d |dqS visitdtr^   r   .0ir   r   r   
<listcomp>      z+TestLreshape.test_pairs.<locals>.<listcomp>rG   rq   c                 S   s   g | ]}d |dqS wtr^   r   r   r   r   r   r     r   )r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )     |@r        4@     ĩ@     Ұ@r   r   r   r   r   r   r   )r   r   r   r   r   r   r:   F)dropna)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rT   )r   labelc                 S   s   g | ]}d |dqS r   r   r   r   r   r   r     r   rg   c                 S   s   g | ]}d |dqS r   r   r   r   r   r   r     r   z$All column lists must be same lengthrI   )r   nanr   rh   r   r   r   r4   assert_produces_warningFutureWarningrK   rL   rM   )r+   ro   r   specr,   exp_dataexprN   r   r   r   
test_pairs  s    
Ih0zTestLreshape.test_pairsN)r   r   r   r   r   r   r   r   r     s   r   c                   @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zejd%d&d'gd(d) Zd*S )+TestWideToLongc              	   C   s   t jd t jd}tddddddd	dd
dddddddtttd|d}|j|d< |	 |	  g dg dg dg dd}t|}|
ddgg d }t|ddgddd}t|| d S )N{   rg   rB   rC   r]   rF   r^   ef      @333333?ffffff?皙	@?皙?)ZA1970ZA1980ZB1970ZB1980rm   r   rB   rC   r]   r^   r   r   r   r   r   r   r   r     r   r     r   r   r   rG   r9   r   rG   r9   rm   r   r	   yearr   r   rm   r   r	   r   r	   r   jr   rw   seedrx   r   dictziprh   r   r*   	set_indexr   r   r4   r+   r   r   r   r?   r,   r   r   r   test_simple  s*    



	
zTestWideToLong.test_simplec                 C   sJ   t g dg dg}g d|_ddg}t||ddd |ddgksFJ d S )	N)r   rG   r9   rg      )rq   r[         	   )r   Zinc1Zinc2Zedu1Zedu2incedur   ager   )r   r   r   )r+   r   Zstubsr   r   r   
test_stubs  s
    
zTestWideToLong.test_stubsc              	   C   s   t jd t jd}tddddddd	dd
dddddddtttd|d}|j|d< |	 |	  g dg dg dg dd}t|}|
ddgg d }t|ddgdddd}t|| d S )Nr   rg   rB   rC   r]   rF   r^   r   r   r   r   r   r   r   r   )zA.1970zA.1980zB.1970zB.1980rm   r   r   r   r   r   r   r   r   r   r	   .r   r   sepr   r   r   r   r   test_separating_character  s*    



	
z(TestWideToLong.test_separating_characterc              	   C   s   t jd t jd}tddddddd	dd
dddddddtttd|d}|j|d< |	 |	  g dg dg dg dd}t|}|
ddgg d }t|ddgddd}t|| d S )Nr   rg   rB   rC   r]   rF   r^   r   r   r   r   r   r   r   r   )zA(quarterly)1970zA(quarterly)1980zB(quarterly)1970zB(quarterly)1980rm   r   r   r   r   r   )rm   A(quarterly)B(quarterly)r   r   r   )rm   r   r  r   r  r   r   r   r   r   r   test_escapable_characters  s.    



	
z(TestWideToLong.test_escapable_charactersc                 C   s   t ddgddgddgddgd	}|j|d
< g dg dddtjtjgg dg dd}t |}|d
dgg d }t|ddgd
dd}t|| d S )N      ?       @      @      @      @      @X1X2A2010A2011B2010rm   r   r	  r
  r	  r
  r  r  r  r  )r   rG   r   rG   )  r    r  )rm   r   r	   r   r   r   r   r   r	   r   )r   r   r   r   r   r   r   r4   r+   r   r   r?   r,   r   r   r   test_unbalanced  s$    
zTestWideToLong.test_unbalancedc              
   C   s   t g dg dg dg dg dg dg dg dd}|j|d	< t g d
g d
g dg dg dg dg dd}|d	dgg d }t|g dd	dd}t|jdd|jdd d S )Na11a22a33a21r  a23b11b12b13b21b22b23rG   r9   rg   rq   r[   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#  rG   r9   rg   rq   r[   r   r      r7  r7     r8  r8  )r0  r1  r   r	   BBr   r   r   )r0  r1  r   r	   r9  r   r	   r9  r   rG   Zaxisr   r   r   r   r   r4   
sort_indexr+   r   r?   r,   r   r   r   test_character_overlap  s2    
z%TestWideToLong.test_character_overlapc              	   C   s   d}t ddgddgddgdd	gd
}|j|d< dg g g g g g g d}t |ddi}|ddgg d }|jjddgdd|_t|ddgdd|d}t|jdd|jdd d S )Nznope!r  r  r  r  r  r  r	  r
  r  r    )rm   r  r  r  r   r   r   r	   r   int)rm   r  r  r  r   r	   r   rG   levelr   r	   r   r;  	r   r   r   r   
set_levelsr   r   r4   r=  )r+   r   r   r   r?   r,   r   r   r   test_invalid_separator  s2    

z%TestWideToLong.test_invalid_separatorc              
   C   s   t g dg dg dg dg dg dg dg dd}|j|d	< t g d
g d
g dg dg dg dg dd}|d	dgg d }t|g dd	dd}t|jdd|jdd d S )Nr  r  r  r   r$  r%  r&  )r*  r+  r,  r-  r.  r/  AratingArating_oldr   r2  r3  r4  r5  r   r6  )rG  rH  r   r	   r9  r   r   r   )rG  rH  r   r	   r9  r:  r   rG   r;  r<  r>  r   r   r   test_num_string_disambiguation9  s6    
z-TestWideToLong.test_num_string_disambiguationc              	   C   s   t ddgddgddgddgd	}|j|d
< dg g g g g g g d}t |ddi}|d
dg}|jjddgdd|_t|ddgd
dd}t|jdd|jdd d S )Nr  r  r  r  r  r  r	  r
  )AoneAtwoBonerm   r   r@  )rm   rJ  rK  rL  r   r   r   r	   r   rA  r   rG   rB  r   r	   r   r;  rD  r  r   r   r   test_invalid_suffixtypeZ  s,    

z&TestWideToLong.test_invalid_suffixtypec                 C   s|   t g dg dg dg dd}t g dg dg dg d	d
}|g ddg }t|dddgdd}t|| d S )N)	rG   rG   rG   r9   r9   r9   rg   rg   rg   )	rG   r9   rg   rG   r9   rg   rG   r9   rg   )	ffffff@333333@皙@r9   ?ffffff?rP  ffffff@ @)	333333@ffffff@rO  r   rN  333333@ffffff
@rU  rO  )famidbirthZht1Zht2)rN  rU  rO  rV  rP  rO  r  r   rQ  rN  rR  rW  rP  rX  rS  rU  rT  rO  )rG   rG   rG   rG   rG   rG   r9   r9   r9   r9   r9   r9   rg   rg   rg   rg   rg   rg   )rG   rG   r9   r9   rg   rg   rG   rG   r9   r9   rg   rg   rG   rG   r9   r9   rg   rg   )rG   r9   rG   r9   rG   r9   rG   r9   rG   r9   rG   r9   rG   r9   rG   r9   rG   r9   )htrY  rZ  r   )rY  rZ  r   r[  rY  rZ  r   r   r   r   r   r   r4   r>  r   r   r   test_multiple_id_columnsw  s"    z'TestWideToLong.test_multiple_id_columnsc                 C   sf   t g dg dg dd}d}tjt|d$ t|ddgdd	d
 W d    n1 sX0    Y  d S )N)rG   r9   rg   rq   r[   )rG   rG   rG   rG   rG   )ZA_A1ZB_B1r   z3the id variables need to uniquely identify each rowrI   ZA_AZB_Br   colnamer   r   rK   rL   rM   r   r+   r   rN   r   r   r   test_non_unique_idvars  s    z%TestWideToLong.test_non_unique_idvarsc                 C   sz   t g dg dg dg dg dd}t g dg dg d	g d
dddg}t|ddgdddd}t|| d S )N)CCH PounderJohnny DeppChristoph Waltz)Joel David MooreOrlando BloomRory Kinnear)     @@     @     |@)     @@     @     x@)AvatarPirates of the CaribbeanSpectre)Zactor_1Zactor_2Zactor_fb_likes_1Zactor_fb_likes_2title)rb  rc  rd  re  rf  rg  )rh  ri  rj  rk  rl  rm  )rG   rG   rG   r9   r9   r9   )rn  ro  rp  rn  ro  rp  )actoractor_fb_likesnumrq  rq  rt  rr  rs  _r   r\  r>  r   r   r   test_cast_j_int  s*    
zTestWideToLong.test_cast_j_intc                 C   sl   t ddgddgddgddgd	}d
}tjt|d$ t|ddgddd W d    n1 s^0    Y  d S )Nr  r  r  r  r  r  r	  r
  )r  r  r  r   z,stubname can't be identical to a column namerI   r   r	   r^  r   r_  r`  r   r   r   test_identical_stubnames  s    z'TestWideToLong.test_identical_stubnamesc                 C   s   t ddgddgddgddgd	}t g d
g dddtjtjgg dd}|ddg}t|ddgddddd}t|| d S )Nr  r  r  r  r  r  r	  r
  )Ztreatment_placeboZtreatment_testZresult_placebor   r  )placeborx  testry  r  r   r^  r,   	treatmentr   r^  r,   r{  z[a-z]+ru  r   r   suffixr   r   r   r   r   r   r   r4   r>  r   r   r   test_nonnumeric_suffix  s&    z%TestWideToLong.test_nonnumeric_suffixc                 C   s|   t ddgddgddgddgd	d
gd}t g dg dg dg ddddg}t|ddgddddd}t|| d S )Nr	  r
  r   r   r  r  r  r  r  r  )r   result_1Z
result_fooZtreatment_1Ztreatment_foor  )1r  rT   rT   )              "@r  r  r  rz  r   r^  r,   r{  z.+ru  r|  r\  r>  r   r   r   test_mixed_type_suffix  s*    	z%TestWideToLong.test_mixed_type_suffixc                 C   s   t ddgddgddgddgd	d
gd}t g dg dddddtjtjtjtjgtjtjtjtjddddgd}|ddg}t|ddgddddd}t|| d S )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
  )r   r   r  r  皙?r  rT  rT  r  r  rz  r   r^  r,   r{  z[0-9.]+ru  r|  r~  r>  r   r   r   test_float_suffix  s(    	z TestWideToLong.test_float_suffixc              
   C   s   ddddddddd	d
ddddddddddddddddddddd}t |}t|dgddgdd}t|dddgdd}t|| d S )Nr   rG   r9   rg   rq   )r   rG   r9   rg   rq   g?r  g      ?r  gQ?gGz?gQ?g\(\?g333333?gp=
ף?g{Gz?gp=
ף?gq=
ףp?g(\?r   )node_idr   ZPA0ZPA1ZPA3ZPAr  r   time)	stubnamesr   r   )r   	from_dictr   r   r4   )r+   Z	wide_dataZwide_dfr?   r,   r   r   r   test_col_substring_of_stubname$  s    
z-TestWideToLong.test_col_substring_of_stubnamec                 C   s   t tdtdddd}t g dg dg dgg d	d
}tt( |jdd}t|| W d    n1 st0    Y  d S )Nr   r      r9   )rZ   r(   )r   rZ   r   )r	   rZ   r	   )rs   rZ   rs   )r(   r'   r(   r:   r(   r6   )r   r   rh   r   r   r   r   r4   r>  r   r   r   test_warn_of_column_name_value4  s    z-TestWideToLong.test_warn_of_column_name_valuer`   Ostringc                 C   s   t ddgddgddgd}|d|i}t|d	d
gdddd}tjg ddd}t g dtjgd d|d}|jjd |}|jj	|dd|_t
|| d S )Nr  2d      ,    )r   za-1za-2r   rB   rC   rt  -)r  r   r   r   ))r  rG   )r  rG   )r  r9   )r  r9   )r   rt  )rV   )r  r  r  r  rq   )rB   rC   r   r   rB  )r   r   r   ri   r   r   r   r   levelsrE  r   r4   )r+   r`   r   r,   r   r?   Z	new_levelr   r   r   test_missing_stubnameB  s(    z$TestWideToLong.test_missing_stubnameN)r   r   r   r   r   r   r  r  r?  rF  rI  rM  r]  ra  rv  rw  r  r  r  r  r  rK   r   r   r  r   r   r   r   r     s(   
!)
'r   )numpyr   rK   Zpandasri   r   r   r   r   Zpandas._testingZ_testingr   Zfixturer   r!   r#   r%   r&   r   r   r   r   r   r   <module>   s$   



  z h