
    OwgG#                         d dl Z d dlZd dlZd dlmZ d dlmZ d dl	Z
d dl	mZmZmZmZ d dlmZ d Zd Zd Zd Zd	 Zej.                  j0                  d
        Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$y)    Nindex)'construct_1d_object_array_from_listlike)IndexIntervalIndex
MultiIndex
RangeIndexc                     t        j                  ddg      } | j                  d   j                  dk(  sJ | j                  d   j                  dk(  sJ t        j                  dgt        d      g      } | j                  d   j                  dk(  sJ t        j                  dgt        d      g      } | j                  d   j                  d	k(  sJ t        j                  dgt        d
      g      } | j                  d   j                  dk(  sJ t        j                  dgt        d      g      } | j                  d   dk\  j                         sJ | j                  d   dk\  j                         sJ y )N)A   )r      r   int8r   a(   i  int16i@  int32i  )r   from_tuplescodesdtypefrom_productrangeall)is    `/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexes/multi/test_integrity.pytest_labels_dtypesr      sK   (34A771:v%%%771:v%%%#b	 23A771:v%%%#c
 34A771:w&&&#e 56A771:w&&&#d 45AGGAJ!O  """GGAJ!O  """    c            	         dt        j                  d      fdt         j                  fdt        j                  d      fdt        j                  d      fdt        j                  d      fdt        j                  d      fg} t        j                  |       }t        |       }t        j                  |j                  |       t        j                  |j                  d d |d d j                         y )	Nr   z
2000-01-01r      z
2000-01-03z
2000-01-04z
2000-01-02   )	pd	TimestampNaTr   r   r   tmassert_numpy_array_equalvalues)tuplesresultexpecteds      r   test_values_boxedr)   &   s    	
BLL&'	
BFF	
BLL&'	
BLL&'	
BLL&'	
BLL&'F ##F+F6v>Hx8bq 16"1:3D3DEr   c                      t        j                  dd      } t        j                  |       }t        j                  | d      }t	        j
                  ||g      }|j                  }t        j                  |D cg c]  }|d   	 c}      }t        j                  ||       t        j                  |D cg c]  }|d   	 c}      }t        j                  ||       |d d j                  }t        j                  |D cg c]  }|d   	 c}      }t        j                  ||d d        t        j                  |D cg c]  }|d   	 c}      }t        j                  ||d d        y c c}w c c}w c c}w c c}w )Nl     NZol    NZoz
US/Central)tzr   r   r   )	nparanger    DatetimeIndexr   from_arraysr%   r#   assert_index_equal)intsnaiveawareidxr'   xouterinners           r   $test_values_multiindex_datetimeindexr8   6   s>   99VZ(DT"ETl3E

 
 %
0CZZFF3qad34E%'F3qad34E%' !W^^FF3qad34E%r+F3qad34E%r+ 4 4 4 4s   9E,5E1 E6?E;c                     t        j                  dd      } t        j                  | d      }t	        j
                  | |g      }|j                  }t        |D cg c]  }|d   	 c}      }t        j                  |t        | t         j                               t        j                  |D cg c]  }|d   	 c}      }t        j                  ||       |d d j                  }t        |D cg c]  }|d   	 c}      }t        j                  |t        | d d t         j                               t        j                  |D cg c]  }|d   	 c}      }t        j                  ||d d        y c c}w c c}w c c}w c c}w )	Ni  i  D)freqr   r   r   r   )r,   r-   r    PeriodIndexr   r/   r%   r   r#   r0   int64)r1   pidxr4   r'   r5   r6   r7   s          r   "test_values_multiindex_periodindexr@   P   s2   99T4 D>>$S)D

 
 $
.CZZF(A1Q4()E%t288!<=NN&1QAaD12E%& !W^^F(A1Q4()E%tBQxrxx!@ANN&1QAaD12E%bq* ) 2 ) 2s   E5/E:0E?Fc                  |   t        t        d            } t        t        d            }t        j                  d      }t        j                  t        d      d      }t        | |g||g      }t        j                  g d      }t        j                  g d      }t        | |g||g      }|j                  du sJ y )Nip 
   iX  )levelsr   )	r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   F)listr   r,   r-   repeatr   array	is_unique)
major_axis
minor_axismajor_codesminor_codesr   s        r   test_consistencyrL   h   s    eEl#JeBiJ))E"K))E"It,K J'[/IE
 ((67K((67KJ'[/IE ??e###r   c           	         d}| j                         5 }|j                  t        d|       t        j                  t        j                  d      t        j                  d      gddg      }|j                  |j                        }t        j                  |t        j                  t        |      d             d	d
t        |      dz
  t        |      d
z
  fD ]  }|j                  ||         }||k(  rJ  	 d d d        y # 1 sw Y   y xY w)N2   _SIZE_CUTOFF   onetwonamesintpr<   r   r   r   )contextsetattrlibindexr   r   r,   r-   get_indexerr%   r#   r$   lenget_loc)monkeypatchsize_cutoffmr   r'   r   s         r   test_hash_collisionsr_      s     K				 
!			(NK8''YYq\299Q<(
 ""5<<0
##FBIIc%j,OPQE
QE
Q7 	A]]58,FQ;;	
 
 
s   C"D6DDc                       y )N ra   r   r   	test_dimsrb      s    r   c                  8   ddgt        j                  d      t        j                  d      gg} t        j                  | ddg      }dd	g}d
}t	        j
                  t        |      5  |j                  |d	       d d d        d}t	        j
                  t        |      5  |j                  ||       d d d        d}t	        j
                  t        |      5  |j                  |d       d d d        y # 1 sw Y   |xY w# 1 sw Y   OxY w# 1 sw Y   y xY w)Nr   Bz
2011-01-01z
2011-01-02strdtrS   r   r   z1take\(\) got an unexpected keyword argument 'foo'match)fooz$the 'out' parameter is not supported)outz%the 'mode' parameter is not supportedclip)mode)	r    r!   r   r   pytestraises	TypeErrortake
ValueError)valsr4   indicesmsgs       r   test_take_invalid_kwargsru      s    #Jl3R\\,5OPQD

!
!$udm
<C!fG
>C	y	, !a ! 1C	z	- 'g&' 2C	z	- 'v&' '! !' '' 's$   )C8"DD8DDDc                     d}t        j                  t        |      5  t        j                  |        d d d        y # 1 sw Y   y xY w)Nz"isna is not defined for MultiIndexrg   )rm   rn   NotImplementedErrorr    isna)r4   rt   s     r   test_isna_behaviorry      s8     /C	*#	6 
  s	   =Ac                 h   d}| j                         5 }|j                  t        d|       t        j                  dt        j                  ddgt        |dz
        g      dg      }t        j                  t        d      5  |j                  d	    d d d        t        j                  t        d
      5  |j                  d    d d d        t        j                  dt        j                  ddgt        |dz         g      dg      }t        j                  t        d      5  |j                  d	    d d d        t        j                  t        d
      5  |j                  d    d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   6xY w# 1 sw Y   y xY w)NrN   rO   r   r   dest)r   columnsz^\(-1, 0\)$rg   ))r   r{   z
^\(3, 0\)$))r   r   r{   )rV   rW   rX   r    	DataFramer   r   r   rm   rn   KeyErrorloc)r\   r]   r^   df_below_cutoffdf_above_cutoffs        r   test_large_multiindex_errorr      ss   K				 0!			(NK8,,))Aq65q3I*JKH

 ]]8>: 	10	1]]8=9 	0/	0,,))Aq65q3I*JKH

 ]]8>: 	10	1]]8=9 	0/	0%0 0	1 	1	0 	0	1 	1	0 	0%0 0sm   A/F(E8#F(5FAF($F4#F(F'F(8F	=F(F		F(F	F(F%	!F((F1c                 0   | j                  t        dd       t        d      }t        j                  ||dt        j                  ||g            }d}t        j                  t        |      5  |d   j                          d d d        y # 1 sw Y   y xY w)NrO   rN   )r   br   z&'Series' object has no attribute 'foo'rg   r   )rW   rX   r   r    r~   r   r/   rm   rn   AttributeErrorri   )r\   rdfrt   s       r   +test_mi_hashtable_populated_attribute_errorr      sv    ."5b	A	AA&j.D.DaV.L	MB
2C	~S	1 
3  s   /BBc                 8    | d   }| j                  |      du sJ y )Nr   T)$_can_hold_identifiers_and_holds_name)r4   keys     r   test_can_hold_identifiersr      s$    
a&C33C8D@@@r   c                    | j                   | j                  }}t        j                  d      }t	        j
                  t        |      5  |d   |d<   d d d        t	        j
                  t        |      5  |d   d   |d   d<   d d d        t	        j
                  t        |      5  |d   |d<   d d d        t	        j
                  t        d      5  |d   d   |d   d<   d d d        | j                  }t	        j
                  t        |      5  |d   |d<   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   fxY w# 1 sw Y   y xY w)Nz#does not support mutable operationsrg   r   z#assignment destination is read-only)	rC   r   recompilerm   rn   ro   rq   rT   )r4   rC   r   mutable_regexrT   s        r   test_metadata_immutabler      s5   JJ		EFJJDEM	y	6 1Iq		y	6 $ay|q	!$ 
y	6 8a	z)N	O "Ahqka" IIE	y	6 8a  $ $ " " s<   		D#5D/'	D;E	E#D,/D8;EEEc                      t        j                  g dg dg      } | j                  sJ | j                  ddgg dg      } | j                  rJ y )N)r   r   rd   rd   rd   )r   r   r   r   r   r   rd   )r   r   r   )r   r/   is_monotonic_increasing
set_levels)inds    r   $test_level_setting_resets_attributesr      sP    

 
 ";_!M
NC&&&&
..3*i0
1C*****r   c            	      J   t        j                  t        j                  d      j	                  d            } t        j                  t        j                  d      j	                  d            }t        j
                  | j                  d      |j                  d      dd      }dd	g|j                  _        t        j                  t        j                  d      t        j                  d      d
t        j                  t        d      t        d      gdd	g            }t        j                  ||d       |j                  j                  d      }t        t        j                  dt        j                         d      j#                  d      }t        j$                  ||       |j                  j                  d	      }t        t        j&                  t        j                  dt        j                         d      d	      }t        j$                  ||       y )Nd   )rB   rB   T)future_stack)df1df2r   )axisfizzbuzz)r   r   rB   rS   r   )
check_liker<   )name)r    r~   r,   r-   reshapeconcatstackr   rT   r   r   r   r#   assert_frame_equalget_level_valuesr   r>   rE   r0   tile)r   r   r   r(   r'   s        r   %test_rangeindex_fallback_coercion_bugr      su   
,,ryy~--h7
8C
,,ryy~--h7
8C			t	,SYYDY5QR
B f%BHHN||		#ryy~6%%uRy%)&<VVDTUH "h48XX&&v.FRYYr2@GGKH&(+XX&&v.FRWWRYYr:B?fMH&(+r   c                    | j                         }t        |       rk| j                  | d          | j                         }| j                  d      }t        | t        t
        f      s||kD  sJ | j                  dk(  r||kD  sJ y y |dk(  sJ y )Nr   T)deepobject)memory_usagerZ   r[   
isinstancer	   r   inferred_type)r4   r'   result2result3s       r   test_memory_usager     s    F
3xCF""$"""- #
M:;V###(W$$$ )
 {{r   c                 &    | j                   dk(  sJ y )Nr   )nlevels)r4   s    r   test_nlevelsr      s    ;;!r   )%r   numpyr,   rm   pandas._libsr   rX   pandas.core.dtypes.castr   pandasr    r   r   r   r	   pandas._testing_testingr#   r   r)   r8   r@   rL   markslowr_   rb   ru   ry   r   r   r   r   r   r   r   r   ra   r   r   <module>r      s    	   * K   #$F ,4+0$.   	'$02A
&+,2(r   