o
    5c|!                     @   s   d dl Z 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 dlmZ dd Zdd Zd	d
 Zdd Zdd Zejjdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Z d#d$ Z!d%d& Z"dS )'    N)'construct_1d_object_array_from_listlike)IntervalIndex
MultiIndex
RangeIndex)
Int64Indexc                  C   s   t ddg} | jd jdksJ | jd jdksJ t dgtdg} | jd jdks/J t dgtdg} | jd jd	ksCJ t dgtd
g} | jd jdksWJ t dgtdg} | jd dk slJ | jd dk swJ d S )N)A   )r      r   int8r   a(   i  int16i@  int32  )r   from_tuplescodesdtypefrom_productrangeall)i r   _/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/indexes/multi/test_integrity.pytest_labels_dtypes   s   r   c               	   C   s   dt dfdt jfdt dfdt dfdt dfdt dfg} t| }t| }t|j| t|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expectedr   r   r   test_values_boxed%   s   
$r%   c                  C   s   t dd} t| }tj| dd}t||g}|j}tdd |D }t|| tdd |D }t|| |d d j}td	d |D }t||d d  td
d |D }t||d d  d S )Nl     NZol    NZoz
US/Central)tzc                 S      g | ]}|d  qS r   r   .0xr   r   r   
<listcomp>?       z8test_values_multiindex_datetimeindex.<locals>.<listcomp>c                 S   r'   r   r   r)   r   r   r   r,   B   r-   r	   c                 S   r'   r(   r   r)   r   r   r   r,   H   r-   c                 S   r'   r.   r   r)   r   r   r   r,   K   r-   )	nparanger   DatetimeIndexr   from_arraysr!   r   assert_index_equal)intsnaiveawareidxr#   outerinnerr   r   r   $test_values_multiindex_datetimeindex5   s   
r:   c                  C   s   t dd} tj| dd}t| |g}|j}tdd |D }t	|t|  tdd |D }t	|| |d d j}td	d |D }t	|t| d d  td
d |D }t	||d d  d S )Ni  i  D)freqc                 S   r'   r(   r   r)   r   r   r   r,   W   r-   z6test_values_multiindex_periodindex.<locals>.<listcomp>c                 S   r'   r.   r   r)   r   r   r   r,   Z   r-   r	   c                 S   r'   r(   r   r)   r   r   r   r,   `   r-   c                 S   r'   r.   r   r)   r   r   r   r,   c   r-   )
r/   r0   r   PeriodIndexr   r2   r!   r   r   r3   )r4   pidxr7   r#   r8   r9   r   r   r   "test_values_multiindex_periodindexO   s   r?   c                  C   s   t td} t td}td}ttdd}t| |g||gd}tg d}tg d}t| |g||gd}|jdu sBJ 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   r/   r0   repeatr   array	is_unique)
major_axis
minor_axismajor_codesminor_codesindexr   r   r   test_consistencyg   s   
rK   c                  C   s   t jtdtdgddgd} | | j}t|tjt| dd ddt| d	 t| d fD ]}| 	| | }||ksAJ q2d S )
Nr   onetwonamesintp)r   r   r   r	   )
r   r   r/   r0   get_indexerr!   r   r    lenget_loc)rJ   r#   r   r   r   r   test_hash_collisions~   s    rT   c                   C   s   d S )Nr   r   r   r   r   	test_dims   s   rU   c                  C   s   ddgt dt dgg} tj| ddgd}dd	g}d
}tjt|d |j|d	d W d    n1 s6w   Y  d}tjt|d |j||d W d    n1 sVw   Y  d}tjt|d |j|dd W d    d S 1 sww   Y  d S )Nr   Bz
2011-01-01z
2011-01-02strdtrN   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)valsr7   indicesmsgr   r   r   test_take_invalid_kwargs   s   "rg   c                 C   sB   d}t jt|d t|  W d    d S 1 sw   Y  d S )Nz"isna is not defined for MultiIndexrY   )r_   r`   NotImplementedErrorr   isna)r7   rf   r   r   r   test_isna_behavior   s   "rj   c                  C   s.  t jdtddgtdgdgd} tjtdd | jd  W d    n1 s)w   Y  tjtd	d | jd
  W d    n1 sEw   Y  t jdtddgtdgdgd}tjtdd |jd  W d    n1 ssw   Y  tjtd	d |jd
  W d    d S 1 sw   Y  d S )Nr   r	   i dest)rJ   columnsz^\(-1, 0\)$rY   ))r   rk   z
^\(3, 0\)$))r   r   rk   i! )	r   	DataFramer   r   r   r_   r`   KeyErrorloc)df_below_1000000df_above_1000000r   r   r   test_large_multiindex_error   s$   "rs   c                  C   st   t td} tj| | dtdd | D d}d}tjt|d |d 	  W d    d S 1 s3w   Y  d S )	Ni@B )r   bc                 S   s   g | ]}||fqS r   r   r)   r   r   r   r,      r-   z7test_million_record_attribute_error.<locals>.<listcomp>rJ   z&'Series' object has no attribute 'foo'rY   r   )
rB   r   r   rn   r   r   r_   r`   AttributeErrorr[   )rdfrf   r   r   r   #test_million_record_attribute_error   s   "ry   c                 C   s   | d }|  |du sJ d S )Nr   T)$_can_hold_identifiers_and_holds_name)r7   keyr   r   r   test_can_hold_identifiers   s   r|   c                 C   sV  | j | j}}td}tjt|d |d |d< W d    n1 s$w   Y  tjt|d |d d |d d< W d    n1 sEw   Y  tjt|d |d |d< W d    n1 sbw   Y  tjtdd |d d |d d< W d    n1 sw   Y  | j}tjt|d |d |d< W d    d S 1 sw   Y  d S )Nz#does not support mutable operationsrY   r   z#assignment destination is read-only)	rA   r   recompiler_   r`   ra   rc   rO   )r7   rA   r   mutable_regexrO   r   r   r   test_metadata_immutable   s$   
"r   c                  C   sr   t g dg dg} | jsJ tt | jddgg dgdd W d    n1 s-w   Y  | jr7J d S )N)r   r   rV   rV   rV   )r   r	   r   r	   r   r   rV   )r   r   r	   T)inplace)r   r2   is_monotonic_increasingr   assert_produces_warningFutureWarning
set_levels)indr   r   r   $test_level_setting_resets_attributes   s   
r   c                  C   s  t tdd} t tdd}t j|  | ddd}ddg|j_t	| t jtdtddt
jtd	td	gddgd
d}tj||dd |jd}ttd	ddd	}t|| |jd}tttd	d	dd}t|| d S )Nd   )r@   r@   )r[   barr   )axisfizzbuzz)r   r[   r@   rN   ru   T)
check_like)name)r   rn   r/   r0   reshapeconcatstackrJ   rO   rW   r   r   r   r   assert_frame_equalget_level_valuesr   rC   r3   tile)r[   r   rx   r$   r#   r   r   r   %test_rangeindex_fallback_coercion_bug   s    r   c                 C   sz   |   }t| r5| | d  |   }| j dd}t| ttfs&||ks&J | jdkr1||ks3J d S d S |dks;J d S )Nr   T)deepobject)memory_usagerR   rS   
isinstancer   r   inferred_type)r7   r#   result2result3r   r   r   test_memory_usage  s   
r   c                 C   s   | j dksJ d S )Nr	   )nlevels)r7   r   r   r   test_nlevels  s   r   )#r}   numpyr/   r_   pandas.core.dtypes.castr   pandasr   r   r   r   pandas._testing_testingr   pandas.core.apir   r   r%   r:   r?   rK   markslowrT   rU   rg   rj   rs   ry   r|   r   r   r   r   r   r   r   r   r   <module>   s4    
		