o
    _~#g3                     @   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   (   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/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/reshape/test_from_dummies.pydummies_basic      r   c                   C   r   )Nr
   r	   r   r   r   r   r   r   r   r   r   r   dummies_with_unassigned   r   r   c                  C   sD   g d} t jtdd t|  W d    d S 1 sw   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   R   t g dg dd} tjtdd t|  W d    d S 1 s"w   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      
"r)   c                  C   sZ   t g dg dd} tjtdd t| ddgd W d    d S 1 s&w   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   "r2   c                  C   r"   )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   r*   r3   c                  C   sV   t g dddtjgd} tjtdd t|  W d    d S 1 s$w   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   
"r6   c                  C   sX   t g dg dg dd} tjtdd t|  W d    d S 1 s%w   Y  d S )N)r         r   )r   r   r      )c1c2c3c4r$   r%   r-   (Passed DataFrame contains non-dummy datar   r1   r   r   r   r   test_error_contains_non_dummies\   s   
"r@   c                  C   sb   t g dg dg dg dd} tjtdd t| dd W d    d S 1 s*w   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   "rD   c                 C   sB   t jtdd t| dgd W d    d S 1 sw   Y  d S )NzJExpected 'sep' to be of type 'str' or 'None'; Received 'sep' of type: listr   rA   rB   r   r   r   r   r   %test_error_with_prefix_sep_wrong_typew   s   "rF   c                 C   s@   t jtdd t| dd W d    d S 1 sw   Y  d S )Nr&   r   rA   rB   r   r   r(   r   r   r   r   r   *test_error_with_prefix_contains_unassigned   s   "rI   c                 C   sF   t jtdd t| dddgd W d    d S 1 sw   Y  d S )Nr,   r   rA   xyrC   r0   r   rH   r   r   r   2test_error_with_prefix_default_category_wrong_type   s   "rM   c                 C   sF   t jtdd t| dddid W d    d S 1 sw   Y  d S )Nz^Length of 'default_category' \(1\) did not match the length of the columns being encoded \(2\)r   rA   col1rJ   rL   rG   rH   r   r   r   9test_error_with_prefix_default_category_dict_not_complete   s   "rO   c                 C   s^   | d  d| d< tj| jd< tjtdd t| dd W d    d S 1 s(w   Y  d S )Nr   float64r9   r   z5Dummy DataFrame contains NA value in column: 'col2_c'r   rA   rB   )astyper4   r5   locr   r   r(   r   rE   r   r   r   #test_error_with_prefix_contains_nan   s   "rT   c                 C   s\   | d  t| d< d| jd< tjtdd t| dd W d    d S 1 s'w   Y  d S )Nr   strrQ   r?   r   rA   rB   )rR   objectrS   r   r   r   r   rE   r   r   r   +test_error_with_prefix_contains_non_dummies   s
   
"rW   c                  C   sh   t g dg dg dg dg dd} tjtdd t| d	d
 W d    d S 1 s-w   Y  d S )Nr   )r   r   r   r	   r
   r   r   zHDummy DataFrame contains multi-assignment\(s\); First instance in row: 0r   rA   rB   r'   r   r   r   r   (test_error_with_prefix_double_assignment   s   	"rX   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
   ra   c                  C   s8   t dg di} t| }t|dd}| }t|| d S )NrZ   rY   rA   rB   r   r   r   r[   r\   r]   r   r   r   &test_roundtrip_single_column_dataframe   s
   rc   c                  C   s>   t g dg dd} t| }t|dd}| }t|| d S N)r$   r%   r$   )r%   r$   r-   rN   col2rA   rB   rb   r]   r   r   r   test_roundtrip_with_prefixes   s
   rg   c                  C   D   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   r>   rZ   rY   r   r   r[   r\   r    r`   r_   r   r   r    test_no_prefix_string_cats_basic      rn   c                  C   rh   )N)TFFTFTFF)FFTFr>   rZ   rY   rl   rm   r   r   r   ,test_no_prefix_string_cats_basic_bool_values   s   rq   c                  C   rh   )Nri   rp   rk   r>   rZ   rY   rl   rm   r   r   r   2test_no_prefix_string_cats_basic_mixed_bool_values   s   rr   c                  C   J   t g dg dg dg dd} t dg di}t| }t|| d S )Nr   r   r   r   rj   rk   r   r   r   r   )r      r9      rZ   rl   rm   r   r   r   test_no_prefix_int_cats_basic      rx   c                  C   rs   )Nrt   rj   rk   ru   )g      ?g      9@      @g\(\@rZ   rl   rm   r   r   r   test_no_prefix_float_cats_basic	  ry   r{   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-   r9   FNrZ   rV   dtyperl   rm   r   r   r   test_no_prefix_mixed_cats_basic  s   	r~   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%   NaNrZ   rl   rm   r   r   r   :test_no_prefix_string_cats_contains_get_dummies_NaN_column!  ro   r   zdefault_category, expectedr-   rZ   r>   zdefault_category is a str)idr   )r$   r%   r   zdefault_category is a int      ?)r$   r%   r   zdefault_category is a float)r$   r%   r   zdefault_category is a 0F)r$   r%   Fzdefault_category is a boolr   r9   )r$   r%   r   zdefault_category is a tuplec                 C   sH   t g dg dd}t|| d}|r|d d|d< t|| d S )Nr
   r	   r#   r/   rZ   zstring[pyarrow_numpy])r   r   rR   r[   r\   )r0   r`   using_infer_stringr    r_   r   r   r   +test_no_prefix_string_cats_default_category(  s
   &r   c                 C   s2   t g dg dd}t| dd}t|| d S rd   rl   )r   r`   r_   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   col1_NaNr   r   r   col2_NaNr   )r   r$   r-   re   rA   rB   rl   rm   r   r   r   0test_with_prefix_contains_get_dummies_NaN_column[  s   r   rJ   )r$   r%   rJ   )rJ   r$   r-   re   )r   r$   r-   )Fr$   r-   zdefault_category is a Falserz   )rf   rN   )r$   r%   rz   )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%   )r   r$   r-   z5default_category is a dict with list and tuple valuesc                 C   s   t | d|d}t|| d S )NrA   rL   )r   r[   r\   )r   r0   r`   r_   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 )	Nri   rj   rk   r>   string[python]rZ   abcar|   r   columnsrR   r   r   listr[   r\   dfr_   r`   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   rA   rB   abar|   bacre   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 )	Nri   rj   rk   r>   abcd)indexrZ   r   )r   r   r   r[   r\   r   r   r   r   test_maintain_original_index  s   r   )0numpyr4   r   pandasr   r   r   r   pandas._testing_testingr[   fixturer   r   r!   r)   r2   r3   r6   r@   rD   rF   rI   rM   rO   rT   rW   rX   ra   rc   rg   rn   rq   rr   rx   r{   r~   r   markparametrizeparamr   r   r   r   r   r   r   r   r   r   r   <module>   s    

	
			
#

#		