
    Mh'              	          S SK rS SKrS SKJrJrJrJrJrJ	r	J
r
  S SKJr  S rS rS r\R"                  R%                  SSS/5      S	 5       rS
 rS rS rS rS r\R"                  R%                  SSS/5      S 5       rS r\R"                  R%                  SSS\R6                  \R6                  4\	\	4\R6                  \	4/5      S 5       rS r\R"                  R%                  SSS/5      S 5       rS rS r S r!S r"S r#\R"                  R%                  SSS/5      \R"                  R%                  SSS/5      S  5       5       r$\R"                  R%                  SSS/5      S! 5       r%g)"    N)NACategoricalCategoricalIndexIndex
MultiIndexNaT
RangeIndexc                      Sn [        / SQ5      n[        R                  " / SQ5      n[        R                  " [
        U S9   [        R                  " XSS9  S S S 5        g ! , (       d  f       g = f)NzIndex are different

Index levels are different
\[left\]:  1, Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: 2, MultiIndex\(\[\('A', 1\),
            \('A', 2\),
            \('B', 3\),
            \('B', 4\)\],
           \)         )Ar   r   r   Br   r      matchFexact)r   r   from_tuplespytestraisesAssertionErrortmassert_index_equalmsgidx1idx2s      [/var/www/html/env/lib/python3.13/site-packages/pandas/tests/util/test_assert_index_equal.py test_index_equal_levels_mismatchr%      sP    C D!!"JKD	~S	1
d6 
2	1	1s   A  
A.c                     Sn[         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  " [        US9   [
        R                  " X#U S9  S S S 5        g ! , (       d  f       g = f)NMultiIndex level \[1\] are different

MultiIndex level \[1\] values are different \(25\.0 %\)
\[left\]:  Index\(\[2, 2, 3, 4\], dtype='int64'\)
\[right\]: Index\(\[1, 2, 3, 4\], dtype='int64'\)r   r   r   r   r   r   check_exactr   r   r   r   r   r   r   r*   r!   r"   r#   s       r$    test_index_equal_values_mismatchr-   "   sW    ;C !!"JKD!!"JKD	~S	1
dkB 
2	1	1s   A++
A9c                     Sn[        / SQ5      n[        / SQ5      n[        R                  " [        US9   [        R
                  " X#U S9  S S S 5        g ! , (       d  f       g = f)NzIndex are different

Index length are different
\[left\]:  3, Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: 4, Index\(\[1, 2, 3, 4\], dtype='int64'\)r   )r   r   r   r   r   r)   r   r   r   r   r   r   r,   s       r$    test_index_equal_length_mismatchr0   0   sI    >C DD	~S	1
dkB 
2	1	1   A
A#r   Fequivc                 ^    [        / SQ5      n[        S5      n[        R                  " XU S9  g )N)r   r   r   r   r   )r   r	   r   r   )r   r"   r#   s      r$   test_index_equal_classr4   >   s%    Da=D$E2    c                     Sn[        / SQ5      n[        / SQ[        R                  S9n[        R                  " [
        US9   [        R                  " X#SU S9  S S S 5        g ! , (       d  f       g = f)NzcIndex are different

Attribute "inferred_type" are different
\[left\]:  integer
\[right\]: floatingr   dtyper   Tr   r*   )r   npfloat64r   r   r   r   r   r,   s       r$   )test_int_float_index_equal_class_mismatchr<   F   sQ    C D"**-D	~S	1
d+N 
2	1	1s   A##
A1c                     Sn[        / SQ5      n[        [        S5      5      n[        R                  " [
        US9   [        R                  " X#SU S9  S S S 5        g ! , (       d  f       g = f)NzkIndex are different

Index classes are different
\[left\]:  Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: r   r   r   Tr9   )r   r	   ranger   r   r   r   r   r,   s       r$   %test_range_index_equal_class_mismatchr?   T   sO    C DeAhD	~S	1
d+N 
2	1	1s   A
A+c                    [        / SQ5      n[        / SQ5      nU (       a:  Sn[        R                  " [        US9   [        R
                  " XU S9  S S S 5        g [        R
                  " XU S9  g ! , (       d  f       g = f)Nr   r   g      @)r   r   go   @zIndex are different

Index values are different \(33\.33333 %\)
\[left\]:  Index\(\[1.0, 2.0, 3.0], dtype='float64'\)
\[right\]: Index\(\[1.0, 2.0, 3.0000000001\], dtype='float64'\)r   r)   r/   )r*   r"   r#   r!   s       r$   test_index_equal_values_closerB   b   se    D%&DI ]]>5!!$+F 65 	dkB 65s   A22
B c                 "   [        / SQ5      n[        / SQ5      nXS.nU (       d  US:  a<  Sn[        R                  " [        US9   [        R
                  " X#40 UD6  S S S 5        g [        R
                  " X#40 UD6  g ! , (       d  f       g = f)NrA   )r   r   g9m4 @r*   rtolgMb@?zIndex are different

Index values are different \(33\.33333 %\)
\[left\]:  Index\(\[1.0, 2.0, 3.0], dtype='float64'\)
\[right\]: Index\(\[1.0, 2.0, 3.0001\], dtype='float64'\)r   r/   r*   rE   r"   r#   kwargsr!   s         r$   "test_index_equal_values_less_closerH   s   sx    D D(7FdVmC ]]>5!!$77 65 	d3F3 65s   B  
Bc                     [        / SQ5      n[        / SQ5      nXS.nSn[        R                  " [        US9   [        R
                  " X#40 UD6  S S S 5        g ! , (       d  f       g = f)Nr   )r   r   r   rD   zIndex are different

Index values are different \(33\.33333 %\)
\[left\]:  Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: Index\(\[1, 2, 4\], dtype='int64'\)r   r/   rF   s         r$   test_index_equal_values_too_farrJ      sT    DD(7F8C 
~S	1
d3F3 
2	1	1s   A
A)check_orderTc           	      
   [        / SQ5      n[        / SQ5      nSnU(       a9  [        R                  " [        US9   [        R
                  " X4XSS9  S S S 5        g [        R
                  " X4XSS9  g ! , (       d  f       g = f)Nr   )r   r   r   zIndex are different

Index values are different \(66\.66667 %\)
\[left\]:  Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: Index\(\[3, 2, 1\], dtype='int64'\)r   T)r*   rE   rK   Fr/   )r*   rE   rK   r"   r#   r!   s         r$   %test_index_equal_value_order_mismatchrM      sm    DD8C ]]>5!!D 65
 	K	
 65s   A44
Bc                    [         R                  " / SQ5      n[         R                  " / SQ5      nXS.nSn[        R                  " [        US9   [
        R                  " X#40 UD6  S S S 5        g ! , (       d  f       g = f)Nr(   r   rD   r'   r   r+   rF   s         r$   &test_index_equal_level_values_mismatchrO      sb    !!"JKD!!"JKD(7F;C 
~S	1
d3F3 
2	1	1s   A11
A?zname1,name2)Nx)rP   rP   c                 @   [        / SQU S9n[        / SQUS9nX:X  d  XL a  [        R                  " X#5        g U S:X  a  SOU n US:X  a  SOUnSU  SU S3n[        R                  " [
        US9   [        R                  " X#5        S S S 5        g ! , (       d  f       g = f)	Nr   namerP   z'x'zBIndex are different

Attribute "names" are different
\[left\]:  \[z\]
\[right\]: \[z\]r   )r   r   r   r   r   r   )name1name2r"   r#   r!   s        r$   test_index_equal_namesrV      s    
 'D'D~
d)#5#5  s	 ]]>5!!$- 655s   /B
Bc                 R   U(       a  SnOSnSU SU S3n[        [        SS/5      5      n[        [        SS// SQS	95      nU (       a8  [        R                  " [        US
9   [
        R                  " XEU S9  S S S 5        g [
        R                  " XEU S9  g ! , (       d  f       g = f)NstringobjectzIndex are different

Attribute "dtype" are different
\[left\]:  CategoricalDtype\(categories=\['a', 'b'\], ordered=False, categories_dtype=z^\)
\[right\]: CategoricalDtype\(categories=\['a', 'b', 'c'\], ordered=False, categories_dtype=z\)ab)rZ   r[   c)
categoriesr   check_categorical)r   r   r   r   r   r   r   )r_   using_infer_stringr8   r!   r"   r#   s         r$   "test_index_equal_category_mismatchra      s      !!&s.C c3Z()Dc3ZODED]]>5!!$@QR 65 	d<MN 65s   #B
B&c                 D   Sn[        [        S5      5      n[        [        [        S5      5      5      nU (       a@  U(       a9  [        R
                  " [        US9   [        R                  " X4SSS9  S S S 5        g [        R                  " X4XS9  g ! , (       d  f       g = f)NzIndex are different

Index classes are different
\[left\]:  RangeIndex\(start=0, stop=10, step=1\)
\[right\]: Index\(\[0, 1, 2, 3, 4, 5, 6, 7, 8, 9\], dtype='int64'\)
   r   T)r_   r   )	r   r	   listr>   r   r   r   r   r   )r_   r   r!   rcaticats        r$   !test_index_equal_range_categoriesrg      sx    MC JrN+DDrO,DU]]>5!!$DQ 65 	*;	
 65s   B
Bc                     Sn [        [        [        R                  " S5      /5      n[        [        [        /5      n[
        R                  " [        U S9   [        R                  " X5        S S S 5        g ! , (       d  f       g = f)NzaIndex are different

Attribute "inferred_type" are different
\[left\]:  mixed
\[right\]: datetimenatr   )
r   r   r:   
datetime64r   r   r   r   r   r   r    s      r$   0test_assert_index_equal_different_inferred_typesrk      sY    C "bmmE*+,D"cD	~S	1
d) 
2	1	1s   A66
Bc                      [        SS/SS9n [        SS/SS9n[        R                  " [        SS9   [        R
                  " XSS	S
9  S S S 5        g ! , (       d  f       g = f)Nr   r   rZ   rR   r[   z"names" are differentr   FT)rK   check_namesr/   r"   r#   s     r$   9test_assert_index_equal_different_names_check_order_falsero     sP    !Qc"D!Qc"D	~-D	E
deN 
F	E	Es   A
A c                  H    [        / SQ5      n [        R                  " X SS9  g )N)foobar*   FrK   r   r   r   )idxs    r$   #test_assert_index_equal_mixed_dtyperw     s    
"
#C#6r5   c                 ^    [        SS/U S9n[        SS/U S9n[        R                  " XSS9  g )Nr   r   r7   Frt   ru   )any_numeric_ea_dtyper"   r#   s      r$   ,test_assert_index_equal_ea_dtype_order_falserz     s4    !Q34D!Q34D$%8r5   c                  ^    [        SS/SS9n [        SS/SS9n[        R                  " XSS9  g )Nr   r   rY   r7   Frt   ru   rn   s     r$   /test_assert_index_equal_object_ints_order_falser|   !  s2    !Qx(D!Qx(D$%8r5   r_   rm   c                     [        SS/SS9n[        S[        /SS9n[        R                  " [        SS9   [
        R                  " X#XS9  S S S 5        g ! , (       d  f       g = f)Nr   r   Int64r7   z50.0 %r   )rm   r_   )r   r   r   r   r   r   r   )rm   r_   r"   r#   s       r$   *test_assert_ea_index_equal_non_matching_nar   (  sQ     !Qw'D!R(D	~X	6
K	
 
7	6	6r1   c           	         [         R                  " [        [        R                  " SS/[        R
                  S95      /5      n[         R                  " [        [        R                  " SS/[        R                  S95      /5      nU (       a8  [        R                  " [        SS9   [        R                  " XU S9  S S S 5        g [        R                  " XU S9  g ! , (       d  f       g = f)Nr   r   r7   z%^MultiIndex level \[0\] are differentr   r^   )r   from_arraysr   r:   arrayuint64int64r   r   r   r   r   )r_   r"   r#   s      r$   /test_assert_multi_index_dtype_check_categoricalr   4  s     !!;rxxAbii/P#Q"RSD!!;rxxAbhh/O#P"QRD]]"J
 !!$@QR
 

 	d<MN
 
s   'C
C*)&numpyr:   r   pandasr   r   r   r   r   r   r	   pandas._testing_testingr   r%   r-   r0   markparametrizer4   r<   r?   rB   rH   rJ   rM   rO   nanrV   ra   rg   rk   ro   rw   rz   r|   r   r    r5   r$   <module>r      s       7$CC 5'"233 43OOC"4$4 u6
 7
*4 *rvvrvv.c
RVVSMJ.	.&O. 5$-0
 1
**O799 ,tUm<u6
 7 =
 ,tUm<
O =
Or5   