U
    Mf
                     @   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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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)ZdtypeTZinplaceF)Zcheck_category_order)pdZSeriesreplacecatZset_categories
categoriestmZassert_series_equal)
to_replacevalueexpectedZflip_categoriesZserresult r   P/tmp/pip-unpacked-wheel-eb6vo0j3/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tdd || |}W 5 Q R X t|| | dkrttjt|d t|| W 5 Q R X tjtdd |j| |dd W 5 Q R X t|| d S )Nr   r   zSeries.replace)matchTr   )	r   r   Zassert_produces_warningFutureWarningr   Zassert_categorical_equalpytestZraisesAssertionError)r   r   r   Zexpected_error_msgr   r   r   r   r   test_replace_categorical,   s    r#   )r!   Zpandasr   r   Zpandas._testingZ_testingr   markZparametrizer   r#   r   r   r   r   <module>   s<   

