o
    %j@4                  
   @   s  d dl Z d dlZd dlmZ d dlmZ e jddgddd Ze jdd	gdd
d Z	dd Z
e jdddgdd Ze jdedg diedg difeg dg ddedg difgdd Ze jdejddgddgddgd ejd!d"gddgddgd d#fejddgd$d%gddgd&dd'gd ejd!d"gd$d%gddgd&dd'gd d(fgd)d* Zd+d, Ze jdddgd-d. Ze jdddgd/d0 Zd1d2 Ze jdeg d3g d4d5eg d3g d6d5d7feg d3g d4d5eg d8g d9d5d:fgd;d< Zd=d> Zd?d@ ZdAdB ZdCdD Ze jdEg dFdGdH ZdIdJ ZdKdL ZdMdN Ze jdOdPdQgdRdS ZdTdU ZdVdW Z dXdY Z!dZd[ Z"d\d] Z#d^d_ Z$d`da Z%dbdc Z&dS )d    N)	DataFrameTF)paramsc                 C      | j S Nparamrequest r
   j/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pandas/tests/util/test_assert_frame_equal.pyby_blocks_fixture      r   r   Seriesc                 C   r   r   r   r   r
   r
   r   obj_fixture   r   r   c                 K   s,   t j| |fi | t j|| fi | dS )a4  
    Check that two DataFrame equal.

    This check is performed commutatively.

    Parameters
    ----------
    a : DataFrame
        The first DataFrame to compare.
    b : DataFrame
        The second DataFrame to compare.
    kwargs : dict
        The arguments passed to `tm.assert_frame_equal`.
    N)tmassert_frame_equal)abkwargsr
   r
   r   _assert_frame_equal_both   s   r   
check_likec                 C   s   t g dg ddg dd}t g dg ddg dd}| sH| d	}tjt|d
 tj||| |d W d    d S 1 sAw   Y  d S t||| |d d S )N                  ABr   r   cindex)r   r   r   )r   r   r   r#   r   r   z.index are differentmatchr   obj)r   pytestraisesAssertionErrorr   r   r   )r   r   df1df2msgr
   r
   r   #test_frame_equal_row_order_mismatch%   s   
"r1   zdf1,df2r    r   )r   r   r   r   r   r   c                 C   sN   | d}t jt|d tj| ||d W d    d S 1 s w   Y  d S )Nz are differentr'   r*   r+   r,   r-   r   r   )r.   r/   r   r0   r
   r
   r   test_frame_equal_shape_mismatch2   s   
"r4   zdf1,df2,msgr   r   l1l2)r   r#   r   r$   g      ?g       @zDataFrame\.index are differentg @g      ?r"   r   z$MultiIndex level \[0\] are differentc                 C   sl   d|i}|r*t jt|d tj| |fi | W d    d S 1 s#w   Y  d S tj| |fi | d S )Ncheck_index_typer'   r3   )r.   r/   r0   r7   r   r
   r
   r   %test_frame_equal_index_dtype_mismatch@   s   "r8   c                 C   s   ddg}t |d}t |d}d| i}|d d|d< | rCd}tjt|d tj||fi | W d    d S 1 s<w   Y  d S tj||fi | d S )NZcol1Zcol2)columnscheck_dtypeint64z)Attributes of DataFrame\..* are differentr'   )r   astyper+   r,   r-   r   r   )r:   r9   r.   r/   r   r0   r
   r
   r   test_empty_dtypes_   s   

"r=   c                 C   s   |rd}nd}| d| d| d| d}t g dg dd	g d
d}t g dg dd	g dd}tjt|d tj||| |d W d    d S 1 sOw   Y  d S )Nstrobjectz\.index are different

zY\.index values are different \(33\.33333 %\)
\[left\]:  Index\(\['a', 'b', 'c'\], dtype='z0'\)
\[right\]: Index\(\['a', 'b', 'd'\], dtype='z-'\)
At positional index 2, first diff: c != dr   r   r   r"   r$   )r   r   dr'   r)   r   r+   r,   r-   r   r   r   r   Zusing_infer_stringdtyper0   r.   r/   r
   r
   r   test_frame_equal_index_mismatcho   s   "rD   c                 C   s   |rd}nd}| d| d| d| d}t g dg dd	g d
d}t g dg ddg d
d}tjt|d tj||| |d W d    d S 1 sOw   Y  d S )Nr>   r?   z\.columns are different

zR\.columns values are different \(50\.0 %\)
\[left\]:  Index\(\['A', 'B'\], dtype='z+'\)
\[right\]: Index\(\['A', 'b'\], dtype='z'\)r   r   r   r"   r$   )r    r   r'   r)   rA   rB   r
   r
   r   !test_frame_equal_columns_mismatch   s   "rE   c                 C   s   |}| d| d}t g dg dd}t g dg dd}tjt|d tj||| |d W d    d S 1 s<w   Y  d S )	Nz2\.iloc\[:, 1\] \(column name="B"\) are different

z\.iloc\[:, 1\] \(column name="B"\) values are different \(33\.33333 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \[4, 5, 6\]
\[right\]: \[4, 5, 7\]r   r   r   )r   r      r'   Z	by_blocksr*   rA   )r   r   r*   r0   r.   r/   r
   r
   r   test_frame_equal_block_mismatch   s   "rH   )   á   à   ä)   é   è   ë)r    E)rL   rM   u   e̊u   {obj}\.iloc\[:, 1\] \(column name="E"\) are different

{obj}\.iloc\[:, 1\] \(column name="E"\) values are different \(33\.33333 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \[é, è, ë\]
\[right\]: \[é, è, e̊\])r   r   r   )erP   rP   u   {obj}\.iloc\[:, 0\] \(column name="A"\) are different

{obj}\.iloc\[:, 0\] \(column name="A"\) values are different \(100\.0 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \[á, à, ä\]
\[right\]: \[a, a, a\]c                 C   sR   |j |d}tjt|d tj| |||d W d    d S 1 s"w   Y  d S )Nr2   r'   rG   )formatr+   r,   r-   r   r   )r.   r/   r0   r   r   r
   r
   r   test_frame_equal_unicode   s   "rR   c                  C   sv   t dg didd} | t}d}tj| |dd tjt|d tj| |d	d W d    d S 1 s4w   Y  d S )
Nr   r   Int64rC   zAttributes of DataFrame\.iloc\[:, 0\] \(column name="a"\) are different

Attribute "dtype" are different
\[left\]:  Int64
\[right\]: int[32|64]Fr:   r'   T)r   r<   intr   r   r+   r,   r-   leftrightr0   r
   r
   r   0test_assert_frame_equal_extension_dtype_mismatch   s   
"rZ   c                  C   s|   t dtddgidd} | t}d}tj| |dd tjt	|d	 tj| |d
d W d    d S 1 s7w   Y  d S )Nr   r   r   intervalrT   zAttributes of DataFrame\.iloc\[:, 0\] \(column name="a"\) are different

Attribute "dtype" are different
\[left\]:  interval\[int64, right\]
\[right\]: objectFrU   r'   T)
r   pdZIntervalr<   r?   r   r   r+   r,   r-   rW   r
   r
   r   /test_assert_frame_equal_interval_dtype_mismatch   s   
"r]   c                  C   <   t dg didd} t dg didd}tj| |dd d S )Nr   r   rS   rT   ZInt32FrU   r   r   r   rX   rY   r
   r
   r   7test_assert_frame_equal_ignore_extension_dtype_mismatch      ra   c                  C   r^   )Nr   r   rS   rT   r;   FrU   r_   r`   r
   r
   r   Ctest_assert_frame_equal_ignore_extension_dtype_mismatch_cross_class   rb   rc   rC   )ztimedelta64[ns]zdatetime64[ns, UTC]z	Period[D]c                 C   s0   t dg i| d}t dg i}tj||dd d S )Nr   rT   FrU   r_   )rC   r.   r/   r
   r
   r   4test_assert_frame_equal_datetime_like_dtype_mismatch   s   	rd   c                  C   s   t  } t  jdd}t| |  t|| tj| |dd tj|| dd tjtdd t| | W d    n1 s>w   Y  tjtdd t| | W d    d S 1 s\w   Y  d S )NF)allows_duplicate_labelsZcheck_flagsz<Flagsr'   )r   Z	set_flagsr   r   r+   r,   r-   r`   r
   r
   r   test_allows_duplicate_labels  s   "rg   c                  C   s0   t g dgg dg dd} tj| | dd d S )N)r   r   r   )Zfoobar*   )r   testr   )r9   r%   Tr   r_   )Zdfr
   r
   r   +test_assert_frame_equal_columns_mixed_dtype  s   rl   c                 C   s$   | ddg|d}t j||dd d S )Nr   r   rT   Tcheck_exactr   Zassert_equal)frame_or_seriesany_numeric_ea_dtyper*   r
   r
   r    test_frame_equal_extension_dtype   s   rr   indexer)r   r   )r   r   c                 C   sN   |df}| ddg||d  d}| ddg||d  d}t j||ddd d S )	Nr;   r   r   r   rT   TF)rn   r:   ro   )rp   rq   rs   ZdtypesZobj1obj2r
   r
   r   test_frame_equal_mixed_dtypes&  s   ru   c                  C   sn   t tjg ddd} t tjddddd}tjtdd tj| |d	d
 W d    d S 1 s0w   Y  d S )Nr?   rT   r$   r   r   )startstopstepzDataFrame.index are differentr'   Trk   )	r   r\   IndexZ
RangeIndexr+   r,   r-   r   r   r.   r/   r
   r
   r   4test_assert_frame_equal_check_like_different_indexes.  s
   "r{   c                  C   s   t ddgddgg} d| j_t ddgddgg}d|j_tj| |dd tjtdd	 tj| |dd W d    d S 1 s?w   Y  d S )
Nr   r   r   r   FTrf   re   r'   )r   flagsre   r   r   r+   r,   r-   r`   r
   r
   r   0test_assert_frame_equal_checking_allow_dups_flag6  s   "r}   c               	   C   s   t dgdgdggtjtg dtg dgd} t dgdgdggtjtg dtg dgd}tj| |dd d S )	Nr   r   r   r"   r$   r&   Trk   )r   r\   Z
MultiIndexZfrom_arraysZCategoricalr   r   r`   r
   r
   r   3test_assert_frame_equal_check_like_categorical_midxC  s"   		r~   c                  C   sz   t dtjtjdgddi} t dtjddgddi}d}tjt|d t| | W d    d S 1 s6w   Y  d S )Nr   r   rS   rT   zGDataFrame.iloc\[:, 0\] \(column name="a"\) NA mask values are differentr'   	r   r\   r   ZNAr+   r,   r-   r   r   r.   r/   r0   r
   r
   r   >test_assert_frame_equal_ea_column_definition_in_exception_maskZ  s   "r   c                  C   s   t dtjtjdgddi} t dtjtjdgddi}d}tjt|d t| | W d    n1 s6w   Y  tjt|d tj| |dd	 W d    d S 1 sVw   Y  d S )
Nr   r   rS   rT   r   ?DataFrame.iloc\[:, 0\] \(column name="a"\) values are differentr'   Trm   r   r   r
   r
   r   9test_assert_frame_equal_ea_column_definition_in_exceptiond  s   "r   c                  C   s|   t dtdtdgi} t dtdtdgi}d}tjt|d t| | W d    d S 1 s7w   Y  d S )Nr   z
2019-12-31z
2020-12-31r   r'   )r   r\   	Timestampr+   r,   r-   r   r   r   r
   r
   r   !test_assert_frame_equal_ts_columnq  s   "r   c                  C   s@   t dh dh dgi} t dh dh dgi}t| | d S )N
set_column   r   r   r      r   r   r   r_   rz   r
   r
   r   test_assert_frame_equal_set{  s   r   c                  C   st   t dh dh dgi} t dh dh dgi}d}tjt|d t| | W d    d S 1 s3w   Y  d S )Nr   r   r   >   r   r   rF   zHDataFrame.iloc\[:, 0\] \(column name="set_column"\) values are differentr'   rA   r   r
   r
   r   $test_assert_frame_equal_set_mismatch  s   "r   )'r+   Zpandasr\   r   Zpandas._testingZ_testingr   Zfixturer   r   r   markZparametrizer1   r4   Zfrom_recordsr8   r=   rD   rE   rH   rR   rZ   r]   ra   rc   rd   rg   rl   rr   ru   r{   r}   r~   r   r   r   r   r   r
   r
   r
   r   <module>   s    


$










