U
    ÎZj¸“  ã                   @   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ÚnpZint64©Úres© r   úa/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/reshape/test_melt.pyÚdf   s    r   c                  C   sB   t dddgdddgddd	ggƒ} td
ƒtdƒg| _ddg| j_| S )Nç5ì÷Ä:ñ?çS°ÆÙtÄñ¿gKÔÔ²µÊ?ç†U¼‘y$õ¿çê> ©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ddd6dd7gd8d9�e dddddg¡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t‚d S )NÚvariableÚvalue©r   r   ÚtolistÚAssertionError)Ú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   sr   |  ¡ }|j ¡ ddgkst‚|j dgd�}|j ¡ dddgksDt‚|j ddgd�}|j ¡ ddddgksnt‚d S )Nr&   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"t‚|j ddgddgd�}t|d  ¡ d |d  ¡ d dgd dgd  |d  ¡ |d  ¡  dœddd	d
gd�}t ||¡ d S )Nr   r
   r   r.   r   r	   é   ©r   r
   r&   r'   r&   r'   ©r   )r   Úlenr*   r   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œdddd	gd
�}|jddg|dƒd�}t ||¡ d S )Nr   r8   r
   r   r   r	   r9   r&   r'   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   s\   t |d dgt|ƒ dgt|ƒ |d dœddddg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   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   é   r8   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   s0   d}t jt|d�� |j||d� W 5 Q R X 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"t‚|j dg|d�}|j ¡ dddgksJt‚|j ddg|d�}|j ¡ ddddgksvt‚|j ddgd|d�}|j ¡ ddddgks¤t‚|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/   r0   r"   r	   r8   r   r:   ©r   r   r)   r*   r   r   r4   )	r+   r   r"   Zresult5Zresult6Zresult7Zresult8Zresult9Z	expected9r   r   r   Útest_custom_var_name¬   s4      ÿ    ü
ù	zTestMelt.test_custom_var_namec           	      C   s,  |j |d�}|j ¡ ddgks"t‚|j dg|d�}|j ¡ dddgksJt‚|j ddg|d�}|j ¡ ddddgksvt‚|j ddgd|d�}|j ¡ ddddgks¤t‚|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/   r0   r$   r	   r8   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   sf  |j ||d�}|j ¡ ddgks$t‚|j dg||d�}|j ¡ dddgksNt‚|j ddg||d�}|j ¡ ddddgks|t‚|j ddgd||d�}|j ¡ ddddgks¬t‚|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�sbt‚d S )Nr1   r!   r#   r   ©r/   r"   r$   r
   r   )r/   r0   r"   r$   r	   r8   r   r:   Úfoor'   )	r   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ä   sP      ÿüü    ü
ù	z'TestMelt.test_custom_var_and_value_namer3   r   c                 C   s&   |j |d�}|j ¡ ddgks"t‚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 ¡ dddgks t‚d S )Nr   r   r'   r(   )r+   r    r   r   r   r   Útest_multiindex  s    zTestMelt.test_multiindexÚcolZ2010é   z
US/Pacific)ZperiodsÚtzÚcÚdÚcategory)Údtypec                 C   s²   t tdƒ|dddddg|dœƒ}tjt dddddg¡|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œƒ}ddd	d
g|_t 	||¡ d S )Nr[   rG   r   )ÚklassrZ   Úattr1Úattr2T©Zignore_indexra   rZ   Ú	attributer'   rS   r8   rb   rc   )r   rG   r8   é   )
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   r8   ÚXÚYr>   r	   r   )r	   r&   r'   )r   rh   ZCategoricalr   r   r4   )r+   Údatar,   r?   r   r   r   Útest_preserve_category4  s    ÿzTestMelt.test_preserve_categoryc              	   C   sT  t tj dd¡tdƒd�}d}tjt|jddd�d	�� | 	d
dgddg¡ W 5 Q R X tjt|jddd�d	�� | 	ddgddg¡ W 5 Q R X tjt|jddd�d	�� | 	d
dddgddg¡ W 5 Q R X | 
¡ }tdƒtdƒg|_tjt|jddd�d	�� | 	dgdg¡ W 5 Q R X tjt|jddd�d	�� |j	dgdgdd� W 5 Q R X 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'\]Znot_hereZor_thereZ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.     ÿþ" ÿ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   r8   )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  dddd	gdœ|d�}t ||¡ d S )N)r‚   Úsecond)r‚   ÚthirdÚbazZfoobar)r   r   rG   r8   rf   r�   rƒ   Frd   rT   r{   r~   )rh   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ddddgdddd	gdœ|d�}t ||¡ d S )NrT   r{   r_   rˆ   )r`   rV   r   rG   r8   rf   )ÚxÚyrƒ   Frd   rŒ   r�   r~   )rh   ÚIndexr   r   r   r4   rŠ   r   r   r   Útest_ignore_index_name_and_typeŽ  s    þz(TestMelt.test_ignore_index_name_and_typec                 C   s^   t dddggdddgd�}|jdgdgd�}t dddgdddggddd	gd�}t ||¡ d S )
NÚidr8   rf   rB   rC   r:   r.   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   r7   r<   rK   ÚmarkÚparametrizeÚtupler   r   Úarrayr@   rE   r   rH   rO   rQ   rR   rW   rX   rY   rh   rj   Z
date_rangerk   ro   rz   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ø  dddddgdddd	d
gdddddgdddddgdddddgdt jdddgdt jt jddgdddd d!g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||ƒ}ddddddddddddgdddd	d
ddd	d
dd	d
gddddddddddddgddddddddddddgddddddddddddgd0d$d1d2d3d"d#d$d%d&d'd(gd4œ}t||jd5�}t ||¡ t||d6d7�}dddddddddddddddgdddd	d
dddd	d
dddd	d
gdddddddddddddddgdddddddddddddddgddddddt jddddt jt jddgd0d$d1d2d3d"t jd#d$d%d&t jt jd'd(gd4œ}t||jd5�}t ||¡ t t	¡� t||d6d8d9� W 5 Q R X d:d+„ td,d;ƒD ƒd<d+„ td,d-ƒD ƒd/œ}d=}t
jt|d>�� t||ƒ W 5 Q R X d S )?NZ	08jan2009Z	20dec2008Z	30dec2008Z	21dec2008Z	11jan2009iæ  iå  i®  iC  i%  ée   éf   ég   éh   éi   ZMaleZFemaleZ	22dec2008Z	04jan2009Z	29dec2008Z	20jan2009Z	21jan2009Z	22jan2009Z	31dec2008Z	03feb2009Z	05feb2009Z	02jan2009Z	15feb2009i  i
  i  iâ  iÒ  g     lŸ@g     ��@g     ª@g     ß±@g     ê¡@g     bª@g     Å²@)
ÚbirthdtÚbirthwtr�   ÚsexZvisitdt1Zvisitdt2Zvisitdt3Zwt1Zwt2Zwt3c                 S   s   g | ]}d |d›�‘qS ©Úvisitdtr^   r   ©Ú.0Úir   r   r   Ú
<listcomp>Ä  s     z+TestLreshape.test_pairs.<locals>.<listcomp>rG   rp   c                 S   s   g | ]}d |d›�‘qS ©Úwtr^   r   r¤   r   r   r   r§   Å  s     )r£   r©   g     |œ@g     4˜@g     Ä©@g     Ò°@)rŸ   r    r�   r¡   r£   r©   r:   F)ÚdropnarT   )rª   Úlabelc                 S   s   g | ]}d |d›�‘qS r¢   r   r¤   r   r   r   r§   …  s     rf   c                 S   s   g | ]}d |d›�‘qS r¨   r   r¤   r   r   r   r§   †  s     z$All column lists must be same lengthrI   )r   Únanr   rg   r   r   r   r4   Úassert_produces_warningÚFutureWarningrK   rL   rM   )r+   rn   r   Úspecr,   Úexp_dataÚexprN   r   r   r   Ú
test_pairs§  s–   ûûêþ
ôôôôôÆIññññññªhþ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< | 	¡ | 	¡  dddddd	gd
dddddgddddddgddddddgdœ}t|ƒ}| 
ddg¡dddg }t|ddgddd�}t ||¡ d S )Né{   rf   rB   rC   r]   rF   r^   ÚeÚfç      @ç333333ó?çffffffæ?çš™™™™™	@çÍÌÌÌÌÌô?çš™™™™™¹?)ZA1970ZA1980ZB1970ZB1980rl   r�   é²  é¼  r   rG   r8   ©rl   r   r	   Úyearr�   rÀ   rl   r   r	   ©r¦   Új©r   ru   Úseedrv   r   ÚdictÚziprg   r„   r)   Ú	set_indexr   r   r4   ©r+   rŒ   r   r°   r?   r,   r   r   r   Útest_simpleŽ  s*    



ûÿ	
ûzTestWideToLong.test_simplec                 C   s\   t dddddgdddd	d
ggƒ}dddddg|_ddg}t||ddd� |ddgksXt‚d S )Nr   rG   r8   rf   é   rp   r[   é   é   é	   r�   Zinc1Zinc2Zedu1Zedu2ÚincÚeduÚagerÁ   )r   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< | 	¡ | 	¡  dddddd	gd
dddddgddddddgddddddgdœ}t|ƒ}| 
ddg¡dddg }t|ddgdddd�}t ||¡ d S )Nr´   rf   rB   rC   r]   rF   r^   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   )zA.1970zA.1980zB.1970zB.1980rl   r�   r½   r¾   r   rG   r8   r¿   rÀ   rl   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< | 	¡ | 	¡  dddddd	gd
dddddgddddddgddddddgdœ}t|ƒ}| 
ddg¡dddg }t|ddgddd�}t ||¡ d S )Nr´   rf   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)1980rl   r�   r½   r¾   r   rG   r8   )rl   úA(quarterly)úB(quarterly)rÀ   r�   rÀ   rl   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
< ddddgddddgddtjtjgddddgddddgdœ}t |ƒ}| d
dg¡dddg }t|ddgd
dd�}t ||¡ d S )Nç      ð?ç       @ç      @ç      @ç      @ç      @ÚX1ÚX2©ÚA2010ÚA2011ÚB2010rl   r�   r   rG   iÚ  iÛ  )rl   r   r	   r�   rÀ   rÀ   rl   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 dddgdddgdddgd	d
dgdddgdddgdddgdddgdœƒ}|j|d< t ddddddgddddddgddddddgdddd	d
dgddddddgddddddgddddddgdœƒ}| ddg¡ddddd g }t|ddd gddd!�}t |jdd"�|jdd"�¡ d S )#NÚa11Úa22Úa33Úa21Úa23Úb11Úb12Úb13Úb21Úb22Úb23rG   r8   rf   rp   r[   rË   é[   é\   é]   )ÚA11ÚA12ÚB11ÚB12ÚBB11ÚBB12ÚBBBXÚBBBZr�   r   é   é   )rû   rü   r   r	   ÚBBr�   rÀ   rÀ   rû   rü   r   r	   rÿ   rÁ   ©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¡dddd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 )Nznope!rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   r�   Ú )rl   râ   rã   rä   r�   rÀ   r   r	   rÀ   Úintrl   râ   rã   rä   r   r	   r   rG   ©ÚlevelrÓ   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 dddgdddgdddgd	d
dgdddgdddgdddgdddgdœƒ}|j|d< t ddddddgddddddgddddddgdddd	d
dgddddddgddddddgddddddgdœƒ}| ddg¡ddddd g }t|ddd gddd!�}t |jdd"�|jdd"�¡ d S )#Nrç   rè   ré   rê   rë   rì   rí   rî   rï   rð   rñ   rG   r8   rf   rp   r[   rË   rò   ró   rô   )rõ   rö   r÷   rø   rù   rú   ÚAratingÚArating_oldr�   r   rý   rþ   )r  r  r   r	   rÿ   r�   rÀ   rÀ   r  r  r   r	   rÿ   rÁ   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ÚBonerl   r�   r  )rl   r  r  r  r�   rÀ   r   r	   rÀ   r  r   rG   r  r   r	   rÁ   r   r	  rå   r   r   r   Útest_invalid_suffixtypeZ  s,    üÿ
ø
z&TestWideToLong.test_invalid_suffixtypec                 C   s6  t dddddddddg	dddddddddg	dddddddd	d
g	dddddddddg	dœƒ}t ddddddddddddddd	dd
dgddddddddddddddddddgddddddddddddddddddgddddddddddddddddddgdœƒ}| dddg¡dg }t|dddgdd�}t ||¡ d S )NrG   r8   rf   gffffff@g333333@gš™™™™™@gÍÌÌÌÌÌü?gffffffþ?gffffff@çÍÌÌÌÌÌ @g333333@gffffff@rº   g333333@gffffff
@)ÚfamidÚbirthZht1Zht2rÚ   )Úhtr  r  rÐ   r  r  rÐ   r  rÁ   ©r   rÇ   r   r   r4   r  r   r   r   Útest_multiple_id_columnsw  sF    üÿî&&&éÿz'TestWideToLong.test_multiple_id_columnsc              	   C   sd   t dddddgdddddgdddddgdœƒ}d}tjt|d�� t|d	d
gddd� W 5 Q R X d S )NrG   r8   rf   rp   r[   )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   s¤   t dddgdddgddd	gd
ddgdddgdœƒ}t ddddddgddd	d
ddgddddddgddddddgdœƒ ddg¡}t|ddgdddd�}t ||¡ d S )NzCCH PounderzJohnny DeppzChristoph WaltzzJoel David MoorezOrlando BloomzRory Kinnearg     @�@g     ˆã@g     |Å@g     @�@g     ˆ³@g     �x@ZAvatarzPirates of the CaribbeanZSpectre)Zactor_1Zactor_2Zactor_fb_likes_1Zactor_fb_likes_2ÚtitlerG   r8   )ÚactorÚactor_fb_likesÚnumr  r  r   r  r  Ú_rÓ   r  r  r   r   r   Útest_cast_j_intª  sJ    ûÿ
úúõÿë    ÿzTestWideToLong.test_cast_j_intc              	   C   sX   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 5 Q R X 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 ddddgd
d
ddgddtjtjg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à   )Ztreatment_placeboZtreatment_testZresult_placebor   ZplaceboÚtest©r   r  r,   Ú	treatmentr   r  r,   r&  z[a-z]+r!  ©r¦   rÂ   ÚsuffixrÔ   ©r   r   r¬   rÇ   r   r   r4   r  r   r   r   Útest_nonnumeric_suffixÞ  s0    üÿ


üÿ     ÿ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 ddddgddddgddddg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Ü   )r   Úresult_1Z
result_fooZtreatment_1Ztreatment_fooÚ1rT   ç        ç      "@r%  r   r  r,   r&  z.+r!  r'  r  r  r   r   r   Útest_mixed_type_suffixõ  s4    ûÿ	



üÿù     ÿ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 d	d
d	d
d	d
d	d
gddddddddg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¸   gš™™™™™ñ?r  r-  r.  r%  r   r  r,   r&  z[0-9.]+r!  r'  r)  r  r   r   r   Útest_float_suffix  s2    ûÿ	üÿ     ÿ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   r8   rf   rp   )r   rG   r8   rf   rp   gš™™™™™é?r-  g      Ð?rÙ   gìQ¸…ëé?g®Gáz®ç?gìQ¸…ëá?g\�Âõ(\ï?g333333ã?g¤p=
×£è?g{®Gázä?g¤p=
×£à?gq=
×£på?gÃõ(\�ÂÕ?r¹   )Únode_idr   ZPA0ZPA1ZPA3ZPAr1  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   sv   t tdƒtdddƒdœƒ}t dddgdddgd	dd	ggd
dd
gd�}t t¡� |jd
d�}t ||¡ W 5 Q R X d S )Nr   r   é   r8   )rZ   r'   r   rZ   r	   rr   r'   r&   r:   r6   )r   r   rg   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ddddgdd�}t ddddgtjgd dœ|d�}|jjd  |¡}|jj	|dd�|_t
 ||¡ d S )Nr,  Ú2éd   éÈ   i,  i�  )r�   za-1za-2r�   rB   rC   r   ú-)r3  r¦   rÂ   rÔ   )r,  rG   )r:  rG   )r,  r8   )r:  r8   )r�   r   )rV   rp   )rB   rC   rƒ   r   r  )r   r   r   rh   rŽ   r   r¬   r„   Zlevelsr
  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  r  r  r  r  r  r"  r#  r*  r/  r0  r5  r7  rK   r•   r–   r>  r   r   r   r   r³   �  s(   
!)
'r³   )Únumpyr   rK   Zpandasrh   r   r   r   r   Zpandas._testingZ_testingr   Zfixturer   r    r"   r$   r%   r™   r³   r   r   r   r   Ú<module>   s$   



  z h