
    Owg                     @    d dl Zd dlZd dlmZmZmZmZ  G d d      Zy)    N)CategoricalCategoricalIndexIndex
MultiIndexc                   *    e Zd Zd Zd Zd Zd Zd Zy)
TestEqualsc                 0	   t        ddgddgd      }t        ddgg dd      }|j                  |      sJ |j                  |      rJ |j                  |j                  t                    sJ |j                  t              j                  |      sJ ||k(  j	                         sJ ||k7  j	                         rJ ||kD  j	                         rJ ||k  j	                         rJ ||k  j	                         sJ ||k\  j	                         sJ |dk(  j	                         rJ |t        ddg      k(  j	                         sJ ||j                  k(  j	                         sJ t        j                  t        d      5  |t        g d      k(   d d d        d	}t        j                  t        |      5  ||k(   d d d        t        j                  t        |      5  |t        |j                  d
      k(   d d d        t        j                  t        |      5  |t        |j                  t        d            k(   d d d        t        t        d      g d      }|j                  t        d            rJ |j                  t        t        d                  sJ |j                  t        t        d      d            rJ |j                  |j                               sJ t        t        d      t        j                  gz   g d      }|j                  t        d            rJ |j                  t        t        d                  rJ |j                  |j                               sJ t        t        d      t        j                  gz   g d      }|j                  t        d      t        j                  gz         rJ |j                  t        t        d      t        j                  gz               sJ |j                  t        t        d      t        j                  gz   d            rJ |j                  |j                               sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   HxY w)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        c/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexes/categorical/test_equals.pytest_equals_categoricalz"TestEquals.test_equals_categorical   s   SzsCj$OSzotTzz#::c?""zz#**V,---zz&!((---s
!!!3J##%%%#I??$$$#I??$$$s
!!!s
!!!1H>>###uc3Z((--///szz!&&((( ]]:-AB 	*5))	* O]]9C0 	3J	]]9C0 	:;szz599	:]]9C0 	C;szzd5kBB	C
 d7mH99T']+++ yy)$w-899999-d7mTJKKKyy###d7mrvvh6?S99T']+++99-d7m<===yy###d7mrvvh6?S99T']bffX5666yy)$w-266(*BCDDD99-d7mrvvh.FPTUVVVyy###?	* 	*	 		: 	:	C 	Cs0   Q$:Q1#Q>!$R$Q.1Q;>RRc                     t        dgddg      }t        dgddg      }t        dgddg      }|j                  |      sJ |j                  |      rJ |j                  |      rJ y )NABr   C)r   r   )r"   r
   r   r   s       r'   !test_equals_categorical_unorderedz,TestEquals.test_equals_categorical_unorderedC   sj    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      }|j	                  |      rJ y )Nr*   r+   D)r   r    r!   r   r   )r"   r&   others      r'   test_equals_non_categoryz#TestEquals.test_equals_non_categoryL   sK     sC89sCbff-.99U####r.   c                     t        j                  g dt        d      g      }|j                         j	                  d      }|j                  |      rJ y )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   sJ     ##%958$DE&&z299R=  =r.   c                 v    t        t        d      d      }t        g dd|      }|j                  |      sJ y )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\   s3    tE{5oC7GHzz%   r.   N)__name__
__module____qualname__r(   r-   r2   r:   r@    r.   r'   r   r      s    4$l$!!r.   r   )	numpyr    r   pandasr   r   r   r   r   rD   r.   r'   <module>rG      s!      T! T!r.   