o
    ŀg                     @   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                   @   s4   e Zd Zd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$   `/var/www/html/myenv/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_multiindexc                 C   s4   t tddd}tg dd|d}||sJ d S )Nr   r(   )namer   )r5   dtype)r   r   r   r   )r   any_string_dtypeidxr,   r$   r$   r%   test_equals_string_dtype\   s   z#TestEquals.test_equals_string_dtypeN)__name__
__module____qualname__r&   r*   r-   r4   r9   r$   r$   r$   r%   r      s    6	r   )	numpyr   r   pandasr   r   r   r   r   r$   r$   r$   r%   <module>   s    