
    bMhG#                         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        j        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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                                    sJ | j        d         dk                                    sJ d S )N)A   )r      r   int8r   a(   i  int16i@  int32i  )r   from_tuplescodesdtypefrom_productrangeall)is    i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexes/multi/test_integrity.pytest_labels_dtypesr      sW   (344A71:v%%%%71:v%%%%#b		 233A71:v%%%%#c

 344A71:w&&&&#e 566A71:w&&&&#d 455AGAJ!O  """""GAJ!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                   d S )	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    	
BL&&'	
BF	
BL&&'	
BL&&'	
BL&&'	
BL&&'F #F++F6v>>Hx888bqb 16"1":3DEEEEEr   c                     t          j        dd          } t          j        |           }t          j        | d          }t	          j        ||g          }|j        }t          j        d |D                       }t          j        ||           t          j        d |D                       }t          j        ||           |d d         j        }t          j        d |D                       }t          j        ||d d                    t          j        d	 |D                       }t          j        ||d d                    d S )
Nl     NZol    NZoz
US/Central)tzc                     g | ]
}|d          S r    .0xs     r   
<listcomp>z8test_values_multiindex_datetimeindex.<locals>.<listcomp>@       333qad333r   c                     g | ]
}|d          S r   r.   r/   s     r   r2   z8test_values_multiindex_datetimeindex.<locals>.<listcomp>C   r3   r   r   c                     g | ]
}|d          S r-   r.   r/   s     r   r2   z8test_values_multiindex_datetimeindex.<locals>.<listcomp>I   r3   r   c                     g | ]
}|d          S r5   r.   r/   s     r   r2   z8test_values_multiindex_datetimeindex.<locals>.<listcomp>L   r3   r   )	nparanger    DatetimeIndexr   from_arraysr%   r#   assert_index_equal)intsnaiveawareidxr'   outerinners          r   $test_values_multiindex_datetimeindexrC   6   sB   9VZ((DT""ETl333E

 %
0
0CZF33F33344E%'''33F33344E%''' !W^F33F33344E%rr+++33F33344E%rr+++++r   c                     t          j        dd          } t          j        | d          }t	          j        | |g          }|j        }t          d |D                       }t          j	        |t          | t           j
                             t          j        d |D                       }t          j	        ||           |d d         j        }t          d	 |D                       }t          j	        |t          | d d         t           j
                             t          j        d
 |D                       }t          j	        ||d d                    d S )Ni  i  D)freqc                     g | ]
}|d          S r-   r.   r/   s     r   r2   z6test_values_multiindex_periodindex.<locals>.<listcomp>X       (((A1Q4(((r   r   c                     g | ]
}|d          S r5   r.   r/   s     r   r2   z6test_values_multiindex_periodindex.<locals>.<listcomp>[       111QAaD111r   r   c                     g | ]
}|d          S r-   r.   r/   s     r   r2   z6test_values_multiindex_periodindex.<locals>.<listcomp>a   rH   r   c                     g | ]
}|d          S r5   r.   r/   s     r   r2   z6test_values_multiindex_periodindex.<locals>.<listcomp>d   rK   r   )r8   r9   r    PeriodIndexr   r;   r%   r   r#   r<   int64)r=   pidxr@   r'   rA   rB   s         r   "test_values_multiindex_periodindexrQ   P   sG   9T4  D>$S)))D

 $
.
.CZF((((())E%t28!<!<!<===N11&11122E%&&& !W^F((((())E%tBQBxrx!@!@!@AAAN11&11122E%bqb*****r   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 d S )Nip 
   iX  )levelsr   )	r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   F)listr   r8   r9   repeatr   array	is_unique)
major_axis
minor_axismajor_codesminor_codesr   s        r   test_consistencyr]   h   s    eEll##JeBiiJ)E""K)E"IIt,,K J'[/I  E
 (66677K(66677KJ'[/I  E ?e######r   c           	      R   d}|                                  5 }|                    t          d|           t          j        t          j        d          t          j        d          gddg          }|                    |j                  }t          j
        |t          j        t          |          d                     d	d
t          |          dz
  t          |          d
z
  fD ]%}|                    ||                   }||k    sJ &	 d d d            d S # 1 swxY w Y   d S )N2   _SIZE_CUTOFF   onetwonamesintprI   r   r   r   )contextsetattrlibindexr   r   r8   r9   get_indexerr%   r#   r$   lenget_loc)monkeypatchsize_cutoffmr   r'   r   s         r   test_hash_collisionsrp      s[    K					 
!			(NK888'Yq\\29Q<<(
 
 
 ""5<00
#FBIc%jj,O,O,OPPPQE

QE

Q7 	 	A]]58,,FQ;;;;;	
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   C7DD #D c                      d S )Nr.   r.   r   r   	test_dimsrr      s    Dr   c                  `   ddgt          j        d          t          j        d          gg} t          j        | ddg          }dd	g}d
}t	          j        t          |          5  |                    |d	           d d d            n# 1 swxY w Y   d}t	          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   d}t	          j        t          |          5  |                    |d           d d d            d S # 1 swxY w Y   d S )Nr   Bz
2011-01-01z
2011-01-02strdtrd   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)valsr@   indicesmsgs       r   test_take_invalid_kwargsr      s   #Jl33R\,5O5OPQD

!$udm
<
<
<C!fG
>C	y	,	,	, ! !a   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 1C	z	-	-	- ' 'g&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 2C	z	-	-	- ' 'v&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's6   &B

BB2CCC>D##D'*D'c                     d}t          j        t          |          5  t          j        |            d d d            d S # 1 swxY w Y   d S )Nz"isna is not defined for MultiIndexrw   )r}   r~   NotImplementedErrorr    isna)r@   r   s     r   test_isna_behaviorr      s     /C	*#	6	6	6  
                 s   A  AAc                    d}|                                  5 }|                    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            n# 1 swxY w Y   t          j	        t          d
          5  |j        d          d d d            n# 1 swxY w Y   t          j        dt          j        ddgt          |dz             g          dg          }t          j	        t          d          5  |j        d	          d d d            n# 1 swxY w Y   t          j	        t          d
          5  |j        d          d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr_   r`   r   r   dest)r   columnsz^\(-1, 0\)$rw   ))r   r   z
^\(3, 0\)$))r   r   r   )rg   rh   ri   r    	DataFramer   r   r   r}   r~   KeyErrorloc)rm   rn   ro   df_below_cutoffdf_above_cutoffs        r   test_large_multiindex_errorr      s   K					 0!			(NK888,)Aq65q3I3I*JKKH
 
 

 ]8>::: 	1 	100	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1]8=999 	0 	0//	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0,)Aq65q3I3I*JKKH
 
 

 ]8>::: 	1 	100	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1]8=999 	0 	0//	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0%0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   A6F=B'F='B+	+F=.B+	/F=C'F='C+	+F=.C+	/AF=E%F=%E)	)F=,E)	-F=F%F=%F)	)F=,F)	-F==GGc                 V   |                      t          dd           t          d          }t          j        ||dt          j        ||g                    }d}t          j        t          |          5  |d         
                                 d d d            d S # 1 swxY w Y   d S )Nr`   r_   )r   br   z&'Series' object has no attribute 'foo'rw   r   )rh   ri   r   r    r   r   r;   r}   r~   AttributeErrorry   )rm   rdfr   s       r   +test_mi_hashtable_populated_attribute_errorr      s    ."555b		A	AA&&j.DaV.L.L	M	M	MB
2C	~S	1	1	1  
3                 s   6BB"%B"c                 H    | d         }|                      |          du sJ d S )Nr   T)$_can_hold_identifiers_and_holds_name)r@   keys     r   test_can_hold_identifiersr      s0    
a&C33C88D@@@@@@r   c                    | j         | j        }}t          j        d          }t	          j        t          |          5  |d         |d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  |d         d         |d         d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  |d         |d<   d d d            n# 1 swxY w Y   t	          j        t          d          5  |d         d         |d         d<   d d d            n# 1 swxY w Y   | j        }t	          j        t          |          5  |d         |d<   d d d            d S # 1 swxY w Y   d S )Nz#does not support mutable operationsrw   r   z#assignment destination is read-only)	rT   r   recompiler}   r~   r   r   re   )r@   rT   r   mutable_regexre   s        r   test_metadata_immutabler      s   J	EFJDEEM	y	6	6	6  1Iq	              	y	6	6	6 $ $ay|q	!$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
y	6	6	6  8a              	z)N	O	O	O " "Ahqka" " " " " " " " " " " " " " " IE	y	6	6	6  8a                 sY   AAA<B  B$'B$CC"%C"D((D,/D,E..E25E2c                      t          j        g dg dg          } | j        sJ |                     ddgg dg          } | j        rJ d S )N)r   r   rt   rt   rt   )r   r   r   r   r   r   rt   )r   r   r   )r   r;   is_monotonic_increasing
set_levels)inds    r   $test_level_setting_resets_attributesr      sd    

 ";";";___!M
N
NC&&&&
..3*iii0
1
1C******r   c            	      X   t          j        t          j        d                              d                    } t          j        t          j        d                              d                    }t          j        |                     d          |                    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                            d          }t          t          j        dt          j                  d                              d          }t          j        ||           |j                            d	          }t          t          j        t          j        dt          j                  d          d	          }t          j        ||           d S )Nd   )rS   rS   T)future_stack)df1df2r   )axisfizzbuzz)r   r   rS   rd   r   )
check_likerI   )name)r    r   r8   r9   reshapeconcatstackr   re   r   r   r   r#   assert_frame_equalget_level_valuesr   rO   rV   r<   tile)r   r   r   r(   r'   s        r   %test_rangeindex_fallback_coercion_bugr      s   
,ry~~--h77
8
8C
,ry~~--h77
8
8C			t	,,SYYDY5Q5QRR
 
 
B f%BHN|	#ry~~66%uRyy%))&<VVDTUUU  H "h48888X&&v..FRYr222@@@GGKKH&(+++X&&v..FRWRYr:::B??fMMMH&(+++++r   c                 \   |                                  }t          |           r|                     | d                    |                                  }|                      d          }t          | t          t
          f          s||k    sJ | j        dk    r||k    sJ d S d S |dk    sJ d S )Nr   T)deepobject)memory_usagerk   rl   
isinstancer	   r   inferred_type)r@   r'   result2result3s       r   test_memory_usager     s    F
3xx CF""$$"""-- #
M:;; 	$V####((W$$$$ )($$ {{{{{{r   c                      | j         dk    sJ d S )Nr   )nlevels)r@   s    r   test_nlevelsr      s    ;!r   )%r   numpyr8   r}   pandas._libsr   ri   pandas.core.dtypes.castr   pandasr    r   r   r   r	   pandas._testing_testingr#   r   r)   rC   rQ   r]   markslowrp   rr   r   r   r   r   r   r   r   r   r   r   r.   r   r   <module>r      s   				      * * * * * * K K K K K K                     # # #$F F F , , ,4+ + +0$ $ $.    	 	 	' ' '$  0 0 02  A A A
  &+ + +, , ,2  (    r   