U
    -e-                     @   s  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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d+d, Z d-d. Z!d/d0 Z"d1d2 Z#d3d4 Z$d5d6 Z%ej&'d7ej(d8ed9d:d;d8gid<d=ej(d>ed9d:d;d>gid?d=ej(d@ed9d:d;d@gidAd=ej(d ed9d:d;d gidBd=ej(dCed9d:d;dCgidDd=ej(dEed9d:d;dEgidFd=gdGdH Z)dIdJ Z*dKdL Z+ej&'d7ej(dMed:d;dMgdMd:d8gdNd<d=ej(d ed:d;d gd d:d8gdNdBd=ej(dCed:d;dCgdCd:d8gdNdOd=ej(d>dPdQed:d;dPgd>d:d8gdNdRd=ej(ddCdQed:d;dCgdd:d8gdNdSd=ej(dEd@dCgdQed:d;d@dCggdEd:d8gdNdTd=gdUdV Z,dS )W    N)	DataFrameSeriesfrom_dummiesget_dummiesc                   C   s2   t dddgdddgdddgdddgdddgdS N   r   col1_acol1_bcol2_acol2_bcol2_cr    r   r   g/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/pandas/tests/reshape/test_from_dummies.pydummies_basic   s    r   c                   C   s2   t dddgdddgdddgdddgdddgdS r   r   r   r   r   r   dummies_with_unassigned   s    r   c               	   C   s0   dddg} t jtdd t|  W 5 Q R X d S )Nr   r   zBExpected 'data' to be a 'DataFrame'; Received 'data' of type: listmatchpytestraises	TypeErrorr   dummiesr   r   r   test_error_wrong_data_type'   s    
r   c               	   C   s@   t dddgdddgd} tjtdd t|  W 5 Q R X d S )Nr   r   abHDummy DataFrame contains unassigned value\(s\); First instance in row: 2r   r   r   r   
ValueErrorr   r   r   r   r   (test_error_no_prefix_contains_unassigned0   s    r"   c               	   C   sH   t dddgdddgd} tjtdd t| ddgd W 5 Q R X d S )	Nr   r   r   rExpected 'default_category' to be of type 'None', 'Hashable', or 'dict'; Received 'default_category' of type: listr   cddefault_categoryr   r   r   r   r   r   r   r   r   0test_error_no_prefix_wrong_default_category_type<   s    r)   c               	   C   s@   t dddgdddgd} tjtdd t|  W 5 Q R X d S )Nr   r   r   zHDummy DataFrame contains multi-assignment\(s\); First instance in row: 2r   r    r   r   r   r   %test_error_no_prefix_multi_assignmentH   s    r*   c               	   C   sB   t dddgddtjgd} tjtdd t|  W 5 Q R X d S )Nr   r   r   z0Dummy DataFrame contains NA value in column: 'b'r   )r   npnanr   r   r!   r   r   r   r   r   !test_error_no_prefix_contains_nanT   s     r-   c               	   C   sN   t ddddgddddgdddd	gd
} tjtdd t|  W 5 Q R X d S )Nr         r      c1c2c3Zc4r   r   r$   (Passed DataFrame contains non-dummy datar   r(   r   r   r   r   test_error_contains_non_dummies\   s    "r6   c               	   C   sT   t dddgdddgdddgdddgd} tjtdd t| dd W 5 Q R X d S )Nr   r   )r	   r
   zcol2-azcol2-bz*Separator not specified for column: col2-ar   _sepr    r   r   r   r   *test_error_with_prefix_multiple_seperatorsg   s    r:   c              	   C   s,   t jtdd t| dgd W 5 Q R X d S )NzJExpected 'sep' to be of type 'str' or 'None'; Received 'sep' of type: listr   r7   r8   r   r   r   r   r   %test_error_with_prefix_sep_wrong_typew   s
    r<   c              	   C   s*   t jtdd t| dd W 5 Q R X d S )Nr   r   r7   r8   r   r   r!   r   r   r   r   r   *test_error_with_prefix_contains_unassigned   s
    r?   c              	   C   s0   t jtdd t| dddgd W 5 Q R X d S )Nr#   r   r7   xyr9   r'   r   r>   r   r   r   2test_error_with_prefix_default_category_wrong_type   s
    rC   c              	   C   s0   t jtdd t| dddid W 5 Q R X d S )Nz^Length of 'default_category' \(1\) did not match the length of the columns being encoded \(2\)r   r7   col1r@   rB   r=   r>   r   r   r   9test_error_with_prefix_default_category_dict_not_complete   s
    rE   c              	   C   s6   t j| jd< tjtdd t| dd W 5 Q R X d S )Nr0   r   z5Dummy DataFrame contains NA value in column: 'col2_c'r   r7   r8   )r+   r,   locr   r   r!   r   r;   r   r   r   #test_error_with_prefix_contains_nan   s     rH   c              	   C   s4   d| j d< tjtdd t| dd W 5 Q R X d S )NstrrF   r5   r   r7   r8   )rG   r   r   r   r   r;   r   r   r   +test_error_with_prefix_contains_non_dummies   s    
rJ   c               	   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jtdd t| dd W 5 Q R X d S )Nr   r   r   zHDummy DataFrame contains multi-assignment\(s\); First instance in row: 0r   r7   r8   r    r   r   r   r   (test_error_with_prefix_double_assignment   s    	rK   c                  C   sD   t ddddg} t| }t|}tdddddgi}t|| d S )Nr   r   r$    )r   r   r   r   tmassert_frame_equal
categoriesr   resultexpectedr   r   r   "test_roundtrip_series_to_dataframe   s
    rS   c                  C   s<   t dddddgi} t| }t|dd}| }t|| d S )NrL   r   r   r$   r7   r8   r   r   r   rM   rN   rO   r   r   r   &test_roundtrip_single_column_dataframe   s
    rU   c                  C   sB   t dddgdddgd} t| }t|dd}| }t|| d S Nr   r   r$   rD   col2r7   r8   rT   rO   r   r   r   test_roundtrip_with_prefixes   s
    rY   c                  C   sT   t ddddgddddgddddgd} t dddddgi}t| }t|| d S )Nr   r   r4   rL   r   r   r$   r   r   rM   rN   r   rR   rQ   r   r   r    test_no_prefix_string_cats_basic   s    (r\   c                  C   sT   t ddddgddddgddddgd} t dddddgi}t| }t|| d S )NTFr4   rL   r   r   r$   rZ   r[   r   r   r   ,test_no_prefix_string_cats_basic_bool_values   s    


r]   c                  C   sT   t ddddgddddgddddgd} t dddd	dgi}t| }t|| d S )
Nr   r   FTr4   rL   r   r   r$   rZ   r[   r   r   r   2test_no_prefix_string_cats_basic_mixed_bool_values   s    "r^   c                  C   sb   t ddddgddddgddddgddddgd} t dddddgidd	}t| }t|| d S )
Nr   r   )r      r0      rL   r_   r0   r`   objectZdtyperZ   r[   r   r   r   test_no_prefix_int_cats_basic   s    ,rc   c                  C   sb   t ddddgddddgddddgddddgd} t dddddgid	d
}t| }t|| d S )Nr   r   )      ?      9@      @\(\@rL   rd   re   rf   rg   ra   rb   rZ   r[   r   r   r   test_no_prefix_float_cats_basic  s    ,rh   c               
   C   sx   t 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 dddddd gid	d
}t| }t|| d S )Nr   r   )Gz?r$   r0   FNrL   ri   r$   r0   Fra   rb   rZ   r[   r   r   r   test_no_prefix_mixed_cats_basic  s    	rj   c                  C   sL   t dddgdddgdddgd} t ddddgi}t| }t|| d S )Nr   r   )r   r   NaNrL   r   r   rk   rZ   r[   r   r   r   :test_no_prefix_string_cats_contains_get_dummies_NaN_column  s    "rl   zdefault_category, expectedr$   rL   r   r   zdefault_category is a str)idr   zdefault_category is a intg      ?zdefault_category is a floatzdefault_category is a 0Fzdefault_category is a bool)r   r0   zdefault_category is a tuplec                 C   s6   t dddgdddgd}t|| d}t|| d S )Nr   r   r   r&   rZ   )r'   rR   r   rQ   r   r   r   +test_no_prefix_string_cats_default_category$  s    $rn   c                 C   s6   t dddgdddgd}t| dd}t|| d S rV   rZ   )r   rR   rQ   r   r   r   test_with_prefix_basicM  s    ro   c               
   C   sx   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} t dddgdddgd}t| d	d
}t|| d S )Nr   r   )r	   r
   Zcol1_NaNr   r   r   Zcol2_NaNr   r   rk   r$   rW   r7   r8   rZ   r[   r   r   r   0test_with_prefix_contains_get_dummies_NaN_columnS  s    rp   r@   rW   zdefault_category is a Falserf   )rX   rD   z4default_category is a dict with int and float valuesz4default_category is a dict with bool and None valuesz5default_category is a dict with list and tuple valuesc                 C   s   t | d|d}t|| d S )Nr7   rB   )r   rM   rN   )r   r'   rR   rQ   r   r   r   !test_with_prefix_default_categoryd  s    &  rq   )-numpyr+   r   Zpandasr   r   r   r   Zpandas._testingZ_testingrM   Zfixturer   r   r   r"   r)   r*   r-   r6   r:   r<   r?   rC   rE   rH   rJ   rK   rS   rU   rY   r\   r]   r^   rc   rh   rj   rl   markZparametrizeparamrn   ro   rp   rq   r   r   r   r   <module>   s   

				#
#