
    Eg
                        d dl Zd dlZd dlZd dlmZ ej        	                    dddg          ej        	                    dg dg dg          d                         Z
d	 Zd
 Zd Zej        	                    ddgddgej        dgg          d             Zej        	                    dg  ej        e           ej        g           g          d             Zd ZdS )    NorderedTF
categoriesbac)r   r   r   dc                 0   t          j        g d| |          }t          j        |          \  }}t          j        g dt          j                  }t          j        g d| |          }t          j        ||           t          j        ||           d S )N)r   r   r   r   Nr   r   )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          _/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/arrays/categorical/test_algos.pytest_factorizer!      s     ."""z7  C \#&&NE7X...bg>>>N~J   ~66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        ||           d S )Nr   r   Nr   Tsort)r   r   r   r   r   r   r   r   r   r   r   r   r   s        r    test_factorized_sortr(      s    
....
/
/C\#D111NE7Xmmm27;;;N~sCj11~666)9:::::r"   c                  <   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        ||           d S )
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111NE7Xmmm27;;;N~	c
   ~666)9:::::r"   c                     t          j        ddt          j        g          } |                     dt          j        g          }t          j        g dt                    }t          j        ||           |                     ddg          }t          j        g dt                    }t          j        ||           d S )Nr   r   )TFTr   r   )TFF)	r   r   r   nanisinr   boolr   r   )r   resultexpecteds      r    test_isin_catsr1   1   s    
.#sBF+
,
,CXXsBFm$$Fx+++4888H&111XXsCj!!Fx,,,D999H&11111r"   value c                     t          j        dg          }|                    |           }t          j        dgt
                    }t          j        ||           d S )Nr3   Tr   )r   r   r-   r   r   r.   r   r   )r2   r   r/   r0   s       r    test_isin_cats_corner_casesr5   >   sS     ."

CXXe__Fxd+++H&11111r"   emptyr   c                     t          j        ddg          }t          j        ddgt                    }|                    |           }t          j        ||           d S )Nr   r   Fr   )r   r   r   r   r.   r-   r   r   )r6   sr0   r/   s       r    test_isin_emptyr9   G   sU    
Sz""Axd333HVVE]]F&11111r"   c                     t          j        g dd          } d}t          j        t          |          5  |                                  d d d            n# 1 swxY w Y   |                     d          }t          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )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   P   s1   
)IIIZ
0
0
0C
'C	y	,	,	,  


               
3		B	y	,	,	,  
			                 s#   AAAB55B9<B9)numpyr   rA   pandasr   pandas._testing_testingr   markparametrizer!   r(   r*   r1   NaTr5   r@   objectr   r9   rI    r"   r    <module>rS      so                  T5M229M9M9M'NOO; ; PO 32;; ; ;; ; ;
2 
2 
2 B4$bfb\"BCC2 2 DC2 2yryv'>'>'>"MNN2 2 ON2	 	 	 	 	r"   