a
    Pf3                     @   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d9g d:id;d<ej(d=ed9g d>id?d<ej(d@ed9g dAidBd<ej(d ed9g dCidDd<ej(dEed9g dFidGd<ej(dHed9g dIidJd<gdKdL Z)dMdN Z*dOdP Z+ej&'d7ej(dQeg dRg dSdTd;d<ej(d eg dCg dUdTdDd<ej(dEeg dFg dVdTdWd<ej(d=dXdYeg dZg d[dTd\d<ej(ddEdYeg dFg d]dTd^d<ej(dHd@dEgdYed_d`d@dEggg dadTdbd<gdcdd Z,dedf Z-dgdh Z.didj Z/dS )k    N)	DataFrameSeriesfrom_dummiesget_dummiesc                   C   s(   t g dg dg dg dg ddS )N   r   r   r   r   r   r   r   r   r   r   r   col1_acol1_bcol2_acol2_bcol2_cr    r   r   _/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/reshape/test_from_dummies.pydummies_basic   s    r   c                   C   s(   t g dg dg dg dg ddS )Nr	   r   r   r   r   r
   r   r   r   r   r   r   dummies_with_unassigned   s    r   c                  C   sB   g d} t jtdd t|  W d    n1 s40    Y  d S )Nr   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   sP   t g dg dd} tjtdd t|  W d    n1 sB0    Y  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   sX   t g dg dd} tjtdd  t| ddgd W d    n1 sJ0    Y  d S )	Nr   r   r   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   sP   t g dg dd} tjtdd t|  W d    n1 sB0    Y  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   sT   t g dddtjgd} tjtdd t|  W d    n1 sF0    Y  d S )Nr	   r   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
    r2   c                  C   sV   t g dg dg dd} tjtdd t|  W d    n1 sH0    Y  d S )N)r         r   )r   r   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    r;   c                  C   s`   t g dg dg dg dd} tjtdd t| dd W d    n1 sR0    Y  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 d    n1 s20    Y  d S )NzJExpected 'sep' to be of type 'str' or 'None'; Received 'sep' of type: listr   r<   r=   r   r   r   r   r   %test_error_with_prefix_sep_wrong_typew   s
    rA   c                 C   s>   t jtdd t| dd W d    n1 s00    Y  d S )Nr#   r   r<   r=   r   r   r%   r   r   r   r   r   *test_error_with_prefix_contains_unassigned   s
    rD   c                 C   sD   t jtdd" t| dddgd W d    n1 s60    Y  d S )Nr(   r   r<   xyr>   r,   r   rC   r   r   r   2test_error_with_prefix_default_category_wrong_type   s
    rH   c                 C   sD   t jtdd" t| dddid W d    n1 s60    Y  d S )Nz^Length of 'default_category' \(1\) did not match the length of the columns being encoded \(2\)r   r<   col1rE   rG   rB   rC   r   r   r   9test_error_with_prefix_default_category_dict_not_complete   s
    rJ   c                 C   s\   | d  d| d< tj| jd< tjtdd t| dd W d    n1 sN0    Y  d S )Nr   Zfloat64r5   r   z5Dummy DataFrame contains NA value in column: 'col2_c'r   r<   r=   )astyper0   r1   locr   r   r%   r   r@   r   r   r   #test_error_with_prefix_contains_nan   s    rN   c                 C   sZ   | d  t| d< d| jd< tjtdd t| dd W d    n1 sL0    Y  d S )Nr   strrK   r:   r   r<   r=   )rL   objectrM   r   r   r   r   r@   r   r   r   +test_error_with_prefix_contains_non_dummies   s    
rQ   c                  C   sf   t g dg dg dg dg dd} tjtdd t| d	d
 W d    n1 sX0    Y  d S )Nr   )r   r   r   r   r	   r
   r   zHDummy DataFrame contains multi-assignment\(s\); First instance in row: 0r   r<   r=   r$   r   r   r   r   (test_error_with_prefix_double_assignment   s    	rR   c                  C   s<   t g d} t| }t|}tdg di}t|| d S )Nr!   r"   r)   r!    )r   r   r   r   tmassert_frame_equal
categoriesr   resultexpectedr   r   r   "test_roundtrip_series_to_dataframe   s
    r[   c                  C   s8   t dg di} t| }t|dd}| }t|| d S )NrT   rS   r<   r=   r   r   r   rU   rV   rW   r   r   r   &test_roundtrip_single_column_dataframe   s
    r]   c                  C   s>   t g dg dd} t| }t|dd}| }t|| d S N)r!   r"   r!   )r"   r!   r)   rI   col2r<   r=   r\   rW   r   r   r   test_roundtrip_with_prefixes   s
    ra   c                  C   sD   t g dg dg dd} t dg di}t| }t|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r9   rT   rS   r   r   rU   rV   r   rZ   rY   r   r   r    test_no_prefix_string_cats_basic   s    rg   c                  C   sD   t g dg dg dd} t dg di}t| }t|| d S )N)TFFTFTFF)FFTFr9   rT   rS   re   rf   r   r   r   ,test_no_prefix_string_cats_basic_bool_values   s    ri   c                  C   sD   t g dg dg dd} t dg di}t| }t|| d S )Nrb   rh   rd   r9   rT   rS   re   rf   r   r   r   2test_no_prefix_string_cats_basic_mixed_bool_values   s    rj   c                  C   sJ   t g dg dg dg dd} t dg di}t| }t|| d S )Nr   r   r   r   rc   rd   r   r   r   r   )r      r5      rT   re   rf   r   r   r   test_no_prefix_int_cats_basic   s    ro   c                  C   sJ   t g dg dg dg dd} t dg di}t| }t|| d S )Nrk   rc   rd   rl   )g      ?g      9@      @g\(\@rT   re   rf   r   r   r   test_no_prefix_float_cats_basic	  s    rq   c                  C   sT   t g dg dg dg dg dd} t dg didd	}t| }t|| d S )
N)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   )gGz?r)   r5   FNrT   rP   Zdtypere   rf   r   r   r   test_no_prefix_mixed_cats_basic  s    	rs   c                  C   sD   t g dg dg dd} t dg di}t| }t|| d S )Nr	   r   r
   r!   r"   NaNrT   re   rf   r   r   r   :test_no_prefix_string_cats_contains_get_dummies_NaN_column!  s    rv   zdefault_category, expectedr)   rT   r9   zdefault_category is a str)idr   )r!   r"   r   zdefault_category is a int      ?)r!   r"   rx   zdefault_category is a float)r!   r"   r   zdefault_category is a 0F)r!   r"   Fzdefault_category is a boolr   r5   )r!   r"   ry   zdefault_category is a tuplec                 C   sH   t g dg dd}t|| d}|r8|d d|d< t|| d S )Nr	   r   r    r+   rT   zstring[pyarrow_numpy])r   r   rL   rU   rV   )r,   rZ   Zusing_infer_stringr   rY   r   r   r   +test_no_prefix_string_cats_default_category(  s
    &rz   c                 C   s2   t g dg dd}t| dd}t|| d S r^   re   )r   rZ   rY   r   r   r   test_with_prefix_basicU  s    r{   c               	   C   sf   t g dg dg dg dg dg dg dd} t g dg dd}t| d	d
}t|| d S )Nr	   r   r
   r   )r   r   Zcol1_NaNr   r   r   Zcol2_NaNrt   )ru   r!   r)   r_   r<   r=   re   rf   r   r   r   0test_with_prefix_contains_get_dummies_NaN_column[  s    r|   rE   )r!   r"   rE   )rE   r!   r)   r_   )r   r!   r)   )Fr!   r)   zdefault_category is a Falserp   )r`   rI   )r!   r"   rp   )r   r!   r)   z4default_category is a dict with int and float values)Nr!   r)   z4default_category is a dict with bool and None valuesr!   r"   )ry   r!   r)   z5default_category is a dict with list and tuple valuesc                 C   s   t | d|d}t|| d S )Nr<   rG   )r   rU   rV   )r   r,   rZ   rY   r   r   r   !test_with_prefix_default_categoryl  s    &r}   c                  C   sZ   t g dg dg dd} | jd| _t| }t dttdddi}t|| d S )	Nrb   rc   rd   r9   string[python]rT   abcarr   r   columnsrL   r   r   listrU   rV   ZdfrY   rZ   r   r   r   test_ea_categories  s
    r   c                  C   s   t g dg dg dg dg dd} | jd| _t| dd}t ttd	dd
ttddd
d}|jd|_t|| d S )Nr   r   r	   r
   r   r~   r<   r=   Zabarr   Zbacr_   r   r   r   r   r   test_ea_categories_with_sep  s"    	r   c                  C   sT   t g dg dg ddtdd} t| }t dtditdd}t|| d S )	Nrb   rc   rd   r9   abcd)indexrT   r   )r   r   r   rU   rV   r   r   r   r   test_maintain_original_index  s    r   )0numpyr0   r   Zpandasr   r   r   r   Zpandas._testingZ_testingrU   Zfixturer   r   r   r&   r.   r/   r2   r;   r?   rA   rD   rH   rJ   rN   rQ   rR   r[   r]   ra   rg   ri   rj   ro   rq   rs   rv   markZparametrizeparamrz   r{   r|   r}   r   r   r   r   r   r   r   <module>   s   

	
			#

#
		