o
    ҷh                     @   s  d dl Z d dlZd dlmZ d dlmZ e jdddg ddfddg d	dfddg d
dfddg d
dfdgdg ddfddgdg ddfddgdg ddfddg ddfddg d
dfdgdgg ddfddgddgg ddfg d
g dg ddfddg ddfdej	g ddfddg ddfg ddg ddfgdd Z
e jddd d!d gd"fd d#d!dgdfd!d!d!dgdfddd!dgd$fgd%d& Zd'd( Zd)d* ZdS )+    N)Categoricalz)to_replace,value,expected,flip_categories      )r   r      F   )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   )Nr   r   4)r   r   r
   )r   r   35)r   r   r   Tc                 C   s~   t jg ddd}|| |}t j|dd}|j| |dd |r-|j|jjd d d }tj||dd tj||dd d S )	Nr   categorydtypeTinplaceFcheck_category_order)pdSeriesreplacecatset_categories
categoriestmassert_series_equal)
to_replacevalueexpectedflip_categoriesserresult r#   _/var/www/html/venv/lib/python3.10/site-packages/pandas/tests/arrays/categorical/test_replace.pytest_replace_categorical_series   s   r%   z-to_replace, value, result, expected_error_msgbcaz$Categorical.categories are differentdz+Categorical.categories length are differentc                 C   s   t ddg}t |}tj|dd| |j}t|| | dkr=tjt	|d t|| W d    n1 s8w   Y  tj|dd}|j| |dd t|| d S )Nr(   r&   F)copy)matchTr   )
r   r   r   r   _valuesr   assert_categorical_equalpytestraisesAssertionError)r   r   r"   expected_error_msgr   r   r!   r#   r#   r$   test_replace_categorical1   s   r2   c                  C   s\   t tjddgdd} t| ddgdtjgj}t tjdtjgdd}t|| d S )Nr(   r&   stringr   r'   )	r   r   arrayr   r   NAr,   r   r-   )r   r"   r   r#   r#   r$   !test_replace_categorical_ea_dtypeL   s   r6   c                  C   sh   t jg ddd} t jg d| d}|dd}t jddgdd}t jg d|d}tj||dd	 d S )
N)r   r   r   T)orderedr   r   r   r   )r   r   r   r   )r   CategoricalDtyper   r   r   r   )r   r!   r"   expected_dtyper   r#   r#   r$   test_replace_maintain_orderingT   s   r:   )r.   pandasr   r   pandas._testing_testingr   markparametrizer5   r%   r2   r6   r:   r#   r#   r#   r$   <module>   sH    


