U
    NZf                     @   s  d dl Z d dlZd dlmZ d dlmZ e jddddddgdfdddddgdfdddddgdfd	d
dddgdfdgddddgdfddgddddgdfddgddddgdfdd	d	d	dgdfdddddgdfdgdgdddgdfddgd	dgd	ddgdfdddgdddgdddgdfdddddgdfdej	dddgdfdddddgdfdddgddddg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         F         )r   r   r   )r   r   435Tc                 C   s   t jdddg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   r   r   categorydtypeTZinplaceFZcheck_category_order)pdSeriesreplacecatZset_categories
categoriestmassert_series_equal)
to_replacevalueexpectedZflip_categoriesserresult r   P/tmp/pip-unpacked-wheel-nbcvw55c/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rftjt	|d t|| W 5 Q R X tj|ddj| |dd t|| d S )Nr#   r!   F)copy)matchTr   )
r   r   r   r   _valuesr   assert_categorical_equalpytestZraisesAssertionError)r   r   r   Zexpected_error_msgr   r   r   r   r   test_replace_categorical1   s    r+   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_dtypeK   s    r/   c                  C   sn   t jdddgdd} t jdddg| d}|dd}t jddgdd}t jdddg|d}tj||dd d S )Nr   r   r   T)Zorderedr   r   )r   ZCategoricalDtyper   r   r   r   )r   r   r   Zexpected_dtyper   r   r   r   test_replace_maintain_orderingS   s    r0   )r)   Zpandasr   r   Zpandas._testingZ_testingr   markZparametrizer.   r    r+   r/   r0   r   r   r   r   <module>   sF   


