
    Eg                     N   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          e j        
                    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%             Zd& Z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   Tz:ignore:.*with CategoricalDtype is deprecated:FutureWarningc                 x   t          j        g dd          }|                    | |          }t          j        |d          }|                    | |d           |r-|j                            |j        j        d d d                   }t          j        ||d           t          j        ||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results         a/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/arrays/categorical/test_replace.pytest_replace_categorical_seriesr&      s    @ )IIIZ
0
0
0C[[U++Fy444HKK
E4K000 N<..x|/Fttt/LMM8V%HHHH8SuEEEEEE    z-to_replace, value, result, expected_error_msgbcaz$Categorical.categories are differentdz+Categorical.categories length are differentc                    t          ddg          }t          |          }d}|t          nd }t          j        ||          5  t	          j        |d                              | |          j        }d d d            n# 1 swxY w Y   t          j        ||           | dk    rHt          j
        t          |          5  t          j        ||           d d d            n# 1 swxY w Y   t	          j        |d          }t          j        ||          5  |                    | |d           d d d            n# 1 swxY w Y   t          j        ||           d S )	Nr*   r(   OThe behavior of Series\.replace \(and DataFrame.replace\) with CategoricalDtypematchF)copyTr   )r   FutureWarningr   assert_produces_warningr   r   r   _valuesassert_categorical_equalpytestraisesAssertionError)	r   r    r$   expected_error_msgr   r!   msgwarnr#   s	            r%   test_replace_categoricalr;   4   s/    sCj
!
!C6""H	   /:==D		#D	4	4	4 O O3U+++33JFFNO O O O O O O O O O O O O O O 111S]>1CDDD 	7 	7'X666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 )Ce
$
$
$C		#D	4	4	4 5 5Jt4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5X.....s6   0B  BBC##C'*C'D??EEc                     t          t          j        ddgd                    } d}t          j        t
          |          5  t          j        |                               ddgdt          j        g          j	        }d d d            n# 1 swxY w Y   t          t          j        dt          j        gd                    }t          j
        ||           d S )Nr*   r(   stringr   r-   r.   r)   )r   r   arrayr   r2   r1   r   r   NAr3   r4   )r   r9   r$   r!   s       r%   !test_replace_categorical_ea_dtyper@   V   s   
bhSz:::
;
;C	   
	#M	=	=	= J J3''c
S"%LAAIJ J J J J J J J J J J J J J J28S"%LAAABBH11111s   <BBBc                     t          j        g dd          } t          j        g d|           }d}t          j        t
          |          5  |                    dd          }d d d            n# 1 swxY w Y   t          j        d	dgd          }t          j        g d
|          }t          j        ||d           d S )N)r   r   r   T)orderedr   r-   r.   r   r   r   )r   r   r   r   )r   CategoricalDtyper   r   r2   r1   r   r   )r   r#   r9   r$   expected_dtyper!   s         r%   test_replace_maintain_orderingrE   c   s   			4888E
)IIIU
+
+
+C	   
	#M	=	=	= # #Q""# # # # # # # # # # # # # # #(!Q>>>Ny.999H8V$GGGGGGs   A11A58A5)r5   pandasr   r   pandas._testing_testingr   markparametrizer?   filterwarningsr&   r;   r@   rE    r'   r%   <module>rM      sj                    / 
Ayyy% 	
Ayyy% 	
Ayyy% 	
Ayyy% 
aE"
QIIIu%
QIIIu%	Ayyy%(	IIIu%
qc999e$
Q!QE*	IIIyyy%0	
D,,,&	
BE<<<'	
Ce$	c===$/+ 4 @ F F 5 :F 3	cC:EF	cC:t$	cC:t$	dS$K!NO	 	/ /	 	/0
2 
2 
2H H H H Hr'   