o
    5c                     @   s:   d dl Zd dlZd dlmZmZmZmZ G dd dZdS )    N)CategoricalCategoricalIndexIndex
MultiIndexc                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )

TestEqualsc                 C   sf  t ddgddgdd}t ddgg ddd}||sJ ||r$J ||ts.J |t|s8J ||k s@J ||k rHJ ||k rPJ ||k  rXJ ||k s`J ||k shJ |dk rpJ |tddgk s|J ||jk sJ tjt	dd |tg dk W d    n1 sw   Y  d	}tjt
|d ||k W d    n1 sw   Y  tjt
|d |t|jd
dk W d    n1 sw   Y  tjt
|d |t|jtddk W d    n1 sw   Y  t tdg dd}|tdrJ |t tds#J |t tdddr1J || s;J t tdtjg g dd}|tdrSJ |t tdr_J || siJ t tdtjg g dd}|tdtjg rJ |t tdtjg sJ |t tdtjg ddrJ || sJ 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ci r#   b/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/indexes/categorical/test_equals.pytest_equals_categorical   sT   
 $z"TestEquals.test_equals_categoricalc                 C   sd   t dgddgd}t dgddgd}t dgddgd}||s"J ||r)J ||r0J d S )NABr   C)r   r   )r   r   r   r   r#   r#   r$   !test_equals_categorical_unorderedC   s   z,TestEquals.test_equals_categorical_unorderedc                 C   s8   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"   otherr#   r#   r$   test_equals_non_categoryL   s   z#TestEquals.test_equals_non_categoryc                 C   s6   t g dtdg}| d}||rJ d S )N)r&   r'   r(   r*      category)r   from_arraysrangeto_flat_indexr   r   )r   mir"   r#   r#   r$   test_equals_multiindexT   s   z!TestEquals.test_equals_multiindexN)__name__
__module____qualname__r%   r)   r,   r3   r#   r#   r#   r$   r      s
    6	r   )	numpyr   r   pandasr   r   r   r   r   r#   r#   r#   r$   <module>   s    