
    ic                        d dl Zd dlZd dlZd dlmZ ej                  j                  dg dg dg      d        Z
d Zd Zd Zej                  j                  d	d
gdd
gej                  d
gg      d        Zej                  j                  dg  ej                   e       ej$                  g       g      d        Zd Zd Zy)    N
categoriesbac)r   r   r   dc                 B   t        j                  g d| |      }t        j                  |      \  }}t        j                  g dt        j
                        }t        j                  g d| |      }t        j                  ||       t        j                  ||       y )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          g/app/cer_product_mecsu/.venv/lib/python3.12/site-packages/pandas/tests/arrays/categorical/test_algos.pytest_factorizer!      sy    
.."z7C \\#&NE7XX.bgg>N~~J ~6)9:    c                  :   t        j                  g d      } t        j                  | d      \  }}t        j                  g dt        j
                        }t        j                  ddg      }t        j                  ||       t        j                  ||       y )Nr   r   Nr   Tsort)r   r   r   r   r   r   r   r   r   r   r   r   r   s        r    test_factorized_sortr(      sm    
...
/C\\#D1NE7XXm277;N~~sCj1~6)9:r"   c                  N   t        j                  g dg dd      } t        j                  | d      \  }}t        j                  g dt        j
                        }t        j                  dd	gg dd      }t        j                  ||       t        j                  ||       y )
Nr$   )r   r   r   Tr
   r%   )r   r   r   r   r   r   r   r   r'   s        r    test_factorized_sort_orderedr*   !   s~    
../4C \\#D1NE7XXm277;N~~	c
 ~6)9:r"   c                     t        j                  ddt        j                  g      } | j	                  dt        j                  g      }t        j
                  g dt              }t        j                  ||       | j	                  ddg      }t        j
                  g dt              }t        j                  ||       y )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                     t        j                  dg      }|j                  |       }t        j                  dgt
              }t        j                  ||       y )Nr3   Tr   )r   r   r-   r   r   r.   r   r   )r2   r   r/   r0   s       r    test_isin_cats_corner_casesr5   =   sC     .."
CXXe_Fxxd+H&1r"   emptyr   c                     t        j                  ddg      }t        j                  ddgt              }|j                  |       }t        j                  ||       y )Nr   r   Fr   )r   r   r   r   r.   r-   r   r   )r6   sr0   r/   s       r    test_isin_emptyr9   F   sE    
Sz"Axxd3HVVE]F&1r"   c                  ^   t        j                  g dd      } d}t        j                  t        |      5  | j                          d d d        | j                  d      }t        j                  t        |      5  |j                          d d d        y # 1 sw Y   PxY w# 1 sw Y   y xY w)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   s    
))IZ
0C
'C	y	, 
 
3	B	y	, 
	 	  s   B=B#B #B,c                  :   t        j                  t        j                  g dd      j                        } t        j                  |       }t        j                  ddg|      j                  }t        |j                        t        |j                        k(  sJ y )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 2yryyv'>"MN2 O2	.r"   