
    Eg                     H    d dl Zd dlZd dlmZmZmZmZ  G d d          ZdS )    N)CategoricalCategoricalIndexIndex
MultiIndexc                   ,    e Zd Zd Zd Zd Zd Zd ZdS )
TestEqualsc                 
   t          ddgddgd          }t          ddgg dd          }|                    |          sJ |                    |          rJ |                    |                    t                              sJ |                    t                                        |          sJ ||k                                    sJ ||k                                    rJ ||k                                    rJ ||k                                     rJ ||k                                    sJ ||k                                    sJ |dk                                    rJ |t          ddg          k                                    sJ ||j        k                                    sJ t          j        t          d          5  |t          g d          k     d d d            n# 1 swxY w Y   d	}t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |          5  |t          |j        d
          k     d d d            n# 1 swxY w Y   t          j        t          |          5  |t          |j        t          d                    k     d d d            n# 1 swxY w Y   t          t          d          g d          }|                    t          d                    rJ |                    t          t          d                              sJ |                    t          t          d          d                    rJ |                    |                                          sJ t          t          d          t          j        gz   g d          }|                    t          d                    rJ |                    t          t          d                              rJ |                    |                                          sJ t          t          d          t          j        gz   g d          }|                    t          d          t          j        gz             rJ |                    t          t          d          t          j        gz                       sJ |                    t          t          d          t          j        gz   d                    rJ |                    |                                          sJ d S )NabT)
categoriesorderedr
   r   c   zLengths must match)matchz>Categoricals can only be compared if 'categories' are the sameF)r   abcr   aabca)r   r
   r   )r   equalsastypeobjectallr   valuespytestraises
ValueError	TypeErrorr   listcopynpnan)selfci1ci2msgcis        a/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/indexes/categorical/test_equals.pytest_equals_categoricalz"TestEquals.test_equals_categorical   s   SzsCj$OOOSzoootTTTzz#::c??"""zz#**V,,-----zz&!!((-----s
!!!!!3J##%%%%%#I??$$$$$#I??$$$$$s
!!!!!s
!!!!!1H>>#####uc3Z(((--/////sz!&&((((( ]:-ABBB 	* 	*5))))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* O]9C000 	 	3JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	: 	:;sz599999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:]9C000 	C 	C;szd5kkBBBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C
 d7mmHHH99T']]+++++ yy)$w--889999999-d7mmTJJJKKKKKyy#####d7mmrvh6???SSS99T']]+++++99-d7mm<<=====yy#####d7mmrvh6???SSS99T']]bfX566666yy)$w--26(*BCCDDDDD99-d7mmrvh.FPTUUUVVVVVyy#######sH   G44G8;G8H//H36H3I<<J J "(KKKc                    t          dgddg          }t          dgddg          }t          dgddg          }|                    |          sJ |                    |          rJ |                    |          rJ d S )NABr   C)r   r   )r"   r
   r   r   s       r'   !test_equals_categorical_unorderedz,TestEquals.test_equals_categorical_unorderedC   s    cUSz:::cUSz:::cUSz:::xx{{88A;;88A;;    c                     t          ddt          j        t          j        g          }t          dddt          j        g          }|                    |          rJ d S )Nr*   r+   D)r   r    r!   r   r   )r"   r&   others      r'   test_equals_non_categoryz#TestEquals.test_equals_non_categoryL   sT     sC899sCbf-..99U#######r.   c                     t          j        g dt          d          g          }|                                                    d          }|                    |          rJ d S )N)r*   r+   r,   r0      category)r   from_arraysrangeto_flat_indexr   r   )r"   mir&   s      r'   test_equals_multiindexz!TestEquals.test_equals_multiindexT   sa     #%9%9%9588$DEE&&z2299R==     r.   c                     t          t          d          d          }t          g dd|          }|                    |          sJ d S )Nr   r+   )namer   )r<   dtype)r   r   r   r   )r"   any_string_dtypeidxr1   s       r'   test_equals_string_dtypez#TestEquals.test_equals_string_dtype\   sQ    tE{{555oooC7GHHHzz%       r.   N)__name__
__module____qualname__r(   r-   r2   r:   r@    r.   r'   r   r      s`        4$ 4$ 4$l  $ $ $! ! !! ! ! ! !r.   r   )	numpyr    r   pandasr   r   r   r   r   rD   r.   r'   <module>rG      s                   T! T! T! T! T! T! T! T! T! T!r.   