
    I jc                        S SK rS SKrS SKrS SKJr  \R                  R                  S/ SQ/ SQ/5      S 5       r
S rS rS r\R                  R                  S	S
/SS
/\R                  S
//5      S 5       r\R                  R                  S/ \R                   " \S9\R$                  " / 5      /5      S 5       rS rS rg)    N
categoriesbac)r   r   r   dc                 2   [         R                  " / SQXS9n[         R                  " U5      u  p4[        R                  " / SQ[        R
                  S9n[         R                  " / SQXS9n[        R                  " X55        [        R                  " XF5        g )N)r   r   r   r   Nr   ordered)r   r         dtyper   	pdCategorical	factorizenparrayintptmassert_numpy_array_equalassert_categorical_equal)r   r   catcodesuniquesexpected_codesexpected_uniquess          {/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/arrays/categorical/test_algos.pytest_factorizer!      sn    
.."zC \\#&NEXX.bgg>N~~J 6:    c                  4   [         R                  " / SQ5      n [         R                  " U SS9u  p[        R                  " / SQ[        R
                  S9n[         R                  " SS/5      n[        R                  " X5        [        R                  " X$5        g )Nr   r   Nr   Tsort)r   r   r   r   r   r   r   r   r   r   r   r   r   s        r    test_factorized_sortr(      sf    
...
/C\\#D1NEXXm277;N~~sCj16:r"   c                  <   [         R                  " / SQ/ SQSS9n [         R                  " U SS9u  p[        R                  " / SQ[        R
                  S9n[         R                  " SS	// SQSS9n[        R                  " X5        [        R                  " X$5        g )
Nr$   )r   r   r   Tr
   r%   )r   r   r   r   r   r   r   r   r'   s        r    test_factorized_sort_orderedr*   !   sw    
../4C \\#D1NEXXm277;N~~	c
 6:r"   c                  ~   [         R                  " SS[        R                  /5      n U R	                  S[        R                  /5      n[        R
                  " / SQ[        S9n[        R                  " X!5        U R	                  SS/5      n[        R
                  " / SQ[        S9n[        R                  " X!5        g )Nr   r   )TFTr   r   )TFF)	r   r   r   nanisinr   boolr   r   )r   resultexpecteds      r    test_isin_catsr1   0   s    
..#sBFF+
,CXXsBFFm$Fxx+48H1XXsCj!Fxx,D9H1r"   value c                     [         R                  " S/5      nUR                  U 5      n[        R                  " S/[
        S9n[        R                  " X25        g )Nr3   Tr   )r   r   r-   r   r   r.   r   r   )r2   r   r/   r0   s       r    test_isin_cats_corner_casesr5   =   sA     .."
CXXe_Fxxd+H1r"   emptyr   c                     [         R                  " SS/5      n[        R                  " SS/[        S9nUR                  U 5      n[        R                  " X#5        g )Nr   r   Fr   )r   r   r   r   r.   r-   r   r   )r6   sr0   r/   s       r    test_isin_emptyr9   F   sC    
Sz"Axxd3HVVE]F1r"   c                  `   [         R                  " / SQSS9n Sn[        R                  " [        US9   U R                  5         S S S 5        U R                  SS9n[        R                  " [        US9   UR                  5         S S S 5        g ! , (       d  f       NP= f! , (       d  f       g = f)N)r   r      categoryr   zConvert to a suitable dtype)matchA)name)r   Seriespytestraises	TypeErrordiffto_frame)sermsgdfs      r    	test_diffrI   O   sv    
))IZ
0C
'C	y	,
 
- 
3	B	y	,
	 
-	,	 
-	, 
-	,s   B4B
B
B-c                  8   [         R                  " [         R                  " / SQSS9R                  5      n [         R                  " U 5      n[         R                  " SS/US9R                  n[        UR                  5      [        UR                  5      :X  d   eg )N)r   r   r   objectr   r   r   )r   IndexvaluesCategoricalDtyper@   hashr   )idxr   arrs      r    test_hash_read_only_categoricalrR   [   si    
((288O8<CC
DC


c
"C
))S#Jc
*
1
1C		?d399o---r"   )numpyr   rA   pandasr   pandas._testing_testingr   markparametrizer!   r(   r*   r1   NaTr5   r@   rK   r   r9   rI   rR    r"   r    <module>r[      s        9M'NO; P;;;
2 B4$bffb\"BC2 D2 2ryyv'>"MN2 O2	.r"   