
    Mh                     J   S SK r S SKrS SKJr  S SKJr  \ R                  R                  SSS/ SQS4SS/ S	QS4SS/ S
QS4SS/ S
QS4S/S/ SQS4SS/S/ SQS4SS/S/ SQS4SS/ SQS4SS/ S
QS4S/S// SQS4SS/SS// SQS4/ S
Q/ SQ/ SQS4SS/ SQS4S\R                  / SQS4SS/ SQS4/ SQS/ SQS4/5      \ R                  R                  S5      S 5       5       r\ R                  R                  SSS S!S /S"4S S#S!S/S4S!S!S!S/S4SSS!S/S$4/5      S% 5       rS& rS' rg)(    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                 j   [         R                  " / SQSS9nUR                  X5      n[         R                  " USS9nUR                  XSS9  U(       a5  UR                  R	                  UR                  R
                  S S S2   5      n[        R                  " X%SS9  [        R                  " X$SS9  g )	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         ^/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/categorical/test_replace.pytest_replace_categorical_seriesr&      s    @ ))IZ
0C[[+Fyy4HKK
4K0<<..x||/F/Ftt/LM8%H8uE    z-to_replace, value, result, expected_error_msgbcaz$Categorical.categories are differentdz+Categorical.categories length are differentc                    [        SS/5      n[        U5      nSnUb  [        OS n[        R                  " XvS9   [        R
                  " USS9R                  X5      R                  nS S S 5        [        R                  " X%5        U S:X  a8  [        R                  " [        US9   [        R                  " XE5        S S S 5        [        R
                  " USS9n[        R                  " XvS9   UR                  XSS9  S S S 5        [        R                  " XE5        g ! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       NG= f)	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3U+33JFNN 
5 1S]]>1CD''6 E ))Ce
$C		#	#D	4Jt4 
5. 
5	4
 ED
 
5	4s#   /D&D/.E 
D,/
D= 
Ec                     [        [        R                  " SS/SS95      n Sn[        R                  " [
        US9   [        R                  " U 5      R                  SS/S[        R                  /5      R                  nS S S 5        [        [        R                  " S[        R                  /SS95      n[        R                  " WU5        g ! , (       d  f       NT= f)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    
bhhSz:
;C	   
	#	#M	=3''c
S"%%LAII 
>288S"%%LABH1 
>	=s   AC
Cc                  v   [         R                  " / SQSS9n [         R                  " / SQU S9nSn[        R                  " [
        US9   UR                  SS5      nS S S 5        [         R                  " S	S/SS9n[         R                  " / S
QUS9n[        R                  " UWSS9  g ! , (       d  f       NS= f)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8E
))IU
+C	   
	#	#M	=Q" 
>((!Q>Nyy.9H8V$G	 
>	=s   
B**
B8)r5   pandasr   r   pandas._testing_testingr   markparametrizer?   filterwarningsr&   r;   r@   rE    r'   r%   <module>rM      s       / 
Ay% 	
Ay% 	
Ay% 	
Ay% 
aE"
QIu%
QIu%	Ay%(	Iu%
qc9e$
Q!QE*	Iy%0	
D,&	
BEE<'	
Ce$	c=$/+4 @F5:F 3	cC:EF	cC:t$	cC:t$	dS$K!NO	/	/0
2Hr'   