o
    $j                     @   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	   Zaabca)r   r   r   )r   equalsastypeobjectallr   valuespytestZraises
ValueError	TypeErrorr   listcopynpnan)selfZci1Zci2msgci r    m/var/www/html/Deteccion_Ine/venv/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   Zfrom_arraysrangeZ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   )r/   Zdtype)r   r   r   r   )r   Zany_string_dtypeidxr(   r    r    r!   test_equals_string_dtype\   s   z#TestEquals.test_equals_string_dtypeN)__name__
__module____qualname__r"   r&   r)   r.   r1   r    r    r    r!   r      s    6	r   )	numpyr   r   Zpandasr   r   r   r   r   r    r    r    r!   <module>   s    