
    bMhR!                         d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	 d dl
mZ d Zd Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd ZdS )    Nis_any_real_numeric_dtype)Index
MultiIndexSeriesc                 2   |                      |           sJ |                      |                                           sJ |                      |                     t                              sJ |                      |                                           sJ |                      |                                                     d                    sJ |                      t          |                     rJ |                      t          j        |                     rJ t          | t                    }|                      |          sJ |                     |           sJ | j	        dk    r$|                      t          |                     rJ d S d S )Ncategorydtype   )equalscopyastypeobjectto_flat_indexlistnparrayr   nlevelsr   )idxsame_valuess     k/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexes/multi/test_equivalence.pytest_equalsr      sm   ::c??::chhjj!!!!!::cjj(()))))::c''))*****::c''))00<<=====zz$s))$$$$$zz"(3--(((((6***K::k"""""c"""""
{a::fSkk***** **    c                 \   | }t          |          }|dd         }|dd                             |dd                   }|dd         }t          j        t          d          5  ||k     d d d            n# 1 swxY w Y   t          j        dg|z            }t          j        dg|dz
  z  dgz             }t          j        ||k    |           t          j        ||k    |           t          j        |          }t          j        |dd                   }	t          j        |dd                             |dd                             }
t          j        |dd                   }t          j        t          d          5  ||	k     d d d            n# 1 swxY w Y   t          j        ||k    |           t          j        ||
k    |           t          |          }t          |	          }t          |
          }t          |          }t          j        t          d          5  ||k     d d d            n# 1 swxY w Y   t          j        ||k    |           t          j        ||k    |           t          j        t          d          5  ||k     d d d            n# 1 swxY w Y   t          j        t          d          5  ||k     d d d            n# 1 swxY w Y   t          j        t          d          5  ||k     d d d            n# 1 swxY w Y   d	}t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        t          d          5  ||k     d d d            n# 1 swxY w Y   t          |t                    svt          j        dgt          |          d
z
  z  ddgz             }|d         }t          j        ||k    |           t          j        ||k    t          |                     d S d S )Nr   r   zLengths must match)matchTFz3Can only compare identically-labeled Series objects   )lenappendpytestraises
ValueErrorr   r   tmassert_numpy_array_equalr   
isinstancer   assert_series_equal)r   index_anindex_bindex_cindex_d	expected1	expected2array_aarray_barray_carray_dseries_aseries_bseries_cseries_dmsg	expected3items                      r   test_equals_opr;   "   s   GGAadmGadm""72b5>22GaclG	z)=	>	>	>  7              $!$$I$1q5)UG344I7 2I>>>7 2I>>> hwGhwqt}%%Ghwqt}++GBrEN;;<<Ghwqs|$$G	z)=	>	>	>  7              7 2I>>>7 2I>>> gHgHgHgH	z)=	>	>	>  8               8 3Y???8 3Y??? 
z)=	>	>	>  7              	z)=	>	>	>  8              	z)=	>	>	>  7              
?C	z	-	-	-  H              	z)=	>	>	>  G               gz** DHeWGq(89T5MIJJ	r{
#GtOY???
x4/	1B1BCCCCCD Ds   &A99A= A=FF"%F"2II	I	J00J47J4K))K-0K-L""L&)L&
MM!$M!NNNc                  $   t          j        ddggdz            } t          j        g d          }| | d         k    }t          j        g d          }t	          j        ||           | | d         k    }t	          j        ||            | | d         k     }t	          j        ||           | | d         k    }t	          j        ||           | | d         k    }t	          j        ||            | | d         k    }t	          j        ||            d S )Nr   r   )FFFFr   )TFFF)r   from_productr   r   r%   r&   )mi	all_falseresultexpecteds       r   test_compare_tuplerB   _   s   		 1a&A	.	.B55566I2a5[Fx33344H1112a5[F	222"Q%ZF	2222a5[F111"Q%ZF	2222a5[F
33333r   c                      t          j        g d          } | dk    }t          j        g d          }t	          j        ||           | dk    }t          j        g d          }t	          j        ||           d S )N))ab)rE   crF   rD   rG   )FFT)rF   )FFF)r   from_tuplesr   r   r%   r&   )r>   r@   rA   s      r   test_compare_tuple_strsrI   y   s     
	 D D D	E	EB:Fx,,,--H1116\Fx---..H11111r   c                    |                      |           sJ |                      | j                  rJ |                      t          | j                            sJ |                     |           sJ |                      | d d                   rJ |                      | d                   rJ t	          t          t          t          d                              t          t          t          d                              t          t          t          d                              gt          j        g d          t          j        g d          t          j        g d          g          }t	          |j	        d d         |j
        d d                   }|                     |          rJ |                    |          rJ t          t          t          d                              }t          t          t          d                              }t          j        g d          }t          j        g d	          }t	          ||g||g          }|                      |          rJ |                     |          rJ t          g d
          }t          ddg          }t          j        g d          }t          j        g d          }t	          ||g||g          }|                      |          rJ d S )Nr      )r   r   r   r   r   r      rL   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )levelscodesr   )r   r   r   r   r   rL   )r   r   r   r   r   r   )foobarbazquxonetwo)r   r   r   r   rL   rL   )r   r   r   r   r   r   )r   valuesr   equal_levelsr   r   ranger   r   rM   rN   )r   indexindex2
major_axis
minor_axismajor_codesminor_codess          r   test_equals_multir^      s   ::c??zz#*%%%%%::eCJ''(((((C     zz#crc(#####zz#b'""""" d588nn%%uT%((^^'<'<eDqNN>S>STH---..H---..H---..
  E u|CRC0CRC8HIIIF||F#####!!&))))) tE!HH~~&&JtE!HH~~&&J(---..K(---..KJ'[/I  E zz%     &&&&& 33344Ju~&&J(---..K(---..KJ'[/I  E zz%       r   c                    |                                  }|                                  }|                    |          sJ |                    ddg          }|                    |          sJ |                    |          rJ |                    ddg          }|                    |          sJ t	          |                                d          }|                    |          rJ |                    |          sJ d S )Nnew1new2F)tupleize_cols)r   	identical	set_namesr   r   tolist)r   r>   mi2mi4s       r   test_identicalrh      s    	B
((**C<<	vv&	'	'B99S>>||C     
--(
)
)C<<
		5
1
1
1C||C     99S>>r   c                 :    | | k                                     sJ d S N)allr   s    r   test_equals_operatorrm      s$    3Jr   c                     t          j        dt          j        fdt          j        d          fg          } | dd                             | d                   }|rJ | dd                             | d                   }|rJ d S )Nr   20130101r   r   )r   rH   pdNaT	Timestampr   )ir@   s     r   test_equals_missing_valuesrt      s    BFaj1I1I-JKLLAqsV]]1Q4  FqsV]]1Q4  Fr   c                     t          j        dt          j        ft          j        t          j        fg          } t          j        t          j        t          j        fdt          j        fg          }|                     |          rJ t          j        dt          j        ft          j        t          j        fg          }|                     |          sJ d S )Ng     @T@)r   rH   r   nanr   mi1rf   s     r   -test_equals_missing_values_differently_sortedry      s    

 4.26262B!C
D
DC

 2626"2T26N!C
D
DCzz#

 4.26262B!C
D
DC::c??r   c                     t          j        t          t          d          t          d                              } |                     |           sJ |                     |                                           sJ |                     |                                                                                                                                           sJ |                                 }ddg|_        |                    |           sJ |                     |          sJ |                     |                     ddg                    rJ |                    t          t          d                    t          t          d                    g          }|                    |          rJ |                    |           sJ |                                }|                    t          t          d                    t          t          d                    g          }|                    |          rJ |                                 }|                    |j
                  }|                    |           rJ d S )N
   ABCD)r   rH   ziprW   is_viewnamesrd   
set_levelsr   rM   )r>   rf   mi3rg   mi5s        r   test_is_r      s   		E"IIuRyy 9 9	:	:B66"::66"''))66"''))..""''))..0011111
''))Cc
CI772;;66#;;vvbllC:../////
..$uRyy//4b		??;
<
<Cwws||772;;
((**C ..$uRyy//4b		??;
<
<Cwws||
''))C
..
$
$Cwwr{{r   c                     | j         rJ d S rj   )_is_all_datesrl   s    r   test_is_all_datesr      s          r   c                 (    t          |           rJ d S rj   r   rl   s    r   test_is_numericr      s    (-------r   c                     t          j        ddgg          } t          ddg          }t          | | k              }t          j        ||           t          ddg          }t          | | k              }t          j        ||           d S )Nr   r   TF)r   r=   r   r%   r(   )midxrA   r@   s      r   test_multiindex_comparer     s    
 "QF8,,D tTl##HDDL!!F68,,, uen%%HD4K  F68,,,,,r   c                      t          j        t          ddgd          ddgg          } t          j        ddgddgg          }|                     |          rJ |                    |           rJ d S )Nr   r   Int64r
   rL   rK   )r   from_arraysr   r   rw   s     r   test_equals_ea_int_regular_intr     s{    

 %Ag">">">A!G
H
HC

 1a&1a&!1
2
2Czz#zz#r   )numpyr   r"   pandas.core.dtypes.commonr   pandasrp   r   r   r   pandas._testing_testingr%   r   r;   rB   rI   r^   rh   rm   rt   ry   r   r   r   r   r    r   r   <module>r      s_        ? ? ? ? ? ?             
      + + +&:D :D :Dz4 4 442 2 2.! .! .!b  "  
      6! ! !. . .
- - -$    r   