a
    d!                     @   s   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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index)'construct_1d_object_array_from_listlike)IndexIntervalIndex
MultiIndex
RangeIndexc                  C   s   t ddg} | jd jdks"J | jd jdks6J t dgtdg} | jd jdks^J t dgtdg} | jd jd	ksJ t dgtd
g} | jd jdksJ t dgtdg} | jd dk sJ | jd dk sJ d S )N)A   )r	      r   Zint8r
   a(   i  int16i@  int32  )r   from_tuplescodesdtypefrom_productrangeall)i r   r/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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	TimestampZNaTr   r   r   tmassert_numpy_array_equalvalues)Z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   s   g | ]}|d  qS r   r   .0xr   r   r   
<listcomp>@       z8test_values_multiindex_datetimeindex.<locals>.<listcomp>c                 S   s   g | ]}|d  qS r
   r   r'   r   r   r   r*   C   r+   r   c                 S   s   g | ]}|d  qS r&   r   r'   r   r   r   r*   I   r+   c                 S   s   g | ]}|d  qS r,   r   r'   r   r   r   r*   L   r+   )	nparanger   ZDatetimeIndexr   from_arraysr!   r   assert_index_equal)intsZnaiveZawareidxr"   outerinnerr   r   r   $test_values_multiindex_datetimeindex6   s    
r5   c                  C   s   t dd} tj| dd}t| |g}|j}tdd |D }t	|t| t j
d tdd |D }t	|| |d d	 j}td
d |D }t	|t| d d	 t j
d tdd |D }t	||d d	  d S )Ni  i  D)freqc                 S   s   g | ]}|d  qS r&   r   r'   r   r   r   r*   X   r+   z6test_values_multiindex_periodindex.<locals>.<listcomp>r   c                 S   s   g | ]}|d  qS r,   r   r'   r   r   r   r*   [   r+   r   c                 S   s   g | ]}|d  qS r&   r   r'   r   r   r   r*   a   r+   c                 S   s   g | ]}|d  qS r,   r   r'   r   r   r   r*   d   r+   )r-   r.   r   ZPeriodIndexr   r/   r!   r   r   r0   int64)r1   Zpidxr2   r"   r3   r4   r   r   r   "test_values_multiindex_periodindexP   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 sJ 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-   r.   repeatr   arrayZ	is_unique)Z
major_axisZ
minor_axisZmajor_codesZminor_codesr   r   r   r   test_consistencyh   s    
r@   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sdJ qdd S )
Nr   ZoneZtwonamesZintpr8   r   r
   r   )
r   r   r-   r.   Zget_indexerr!   r   r    lenget_loc)r   r"   r   r   r   r   test_hash_collisions   s     rE   c                   C   s   d S )Nr   r   r   r   r   	test_dims   s    rF   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 sl0    Y  d}tjt|d |j||d W d    n1 s0    Y  d}tjt|d |j|dd W d    n1 s0    Y  d S )Nr	   Bz
2011-01-01z
2011-01-02strdtrA   r
   r   z1take\(\) got an unexpected keyword argument 'foo'match)fooz$the 'out' parameter is not supported)outz%the 'mode' parameter is not supportedZclip)mode)	r   r   r   r   pytestraises	TypeErrorZtake
ValueError)valsr2   indicesmsgr   r   r   test_take_invalid_kwargs   s    ,,rV   c                 C   s@   d}t jt|d t|  W d    n1 s20    Y  d S )Nz"isna is not defined for MultiIndexrJ   )rO   rP   NotImplementedErrorr   Zisna)r2   rU   r   r   r   test_isna_behavior   s    rX   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 sR0    Y  tjtd	d | jd
  W d    n1 s0    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 s0    Y  tjtd	d |jd
  W d    n1 s 0    Y  d S )Nr
   r   i dest)r   columnsz^\(-1, 0\)$rJ   ))r   rY   z
^\(3, 0\)$))r   r   rY   i! )	r   	DataFramer   r   r   rO   rP   KeyErrorloc)Zdf_below_1000000Zdf_above_1000000r   r   r   test_large_multiindex_error   s    (((r_   c                 C   sv   |  tdd td}tj||dt||gd}d}tjt	|d |d 
  W d    n1 sh0    Y  d S )NZ_SIZE_CUTOFF2   )r   br   z&'Series' object has no attribute 'foo'rJ   r   )setattrlibindexr   r   r\   r   r/   rO   rP   AttributeErrorrL   )ZmonkeypatchrdfrU   r   r   r   +test_mi_hashtable_populated_attribute_error   s    rg   c                 C   s   | d }|  |du sJ d S )Nr   T)Z$_can_hold_identifiers_and_holds_name)r2   keyr   r   r   test_can_hold_identifiers   s    ri   c                 C   sX  | j | j }}td}tjt|d |d |d< W d    n1 sH0    Y  tjt|d$ |d d |d d< W d    n1 s0    Y  tjt|d |d |d< W d    n1 s0    Y  tjtdd$ |d d |d d< W d    n1 s0    Y  | j}tjt|d |d |d< W d    n1 sJ0    Y  d S )Nz#does not support mutable operationsrJ   r   z#assignment destination is read-only)	r<   r   recompilerO   rP   rQ   rR   rB   )r2   r<   r   Zmutable_regexrB   r   r   r   test_metadata_immutable   s    
*2*4rl   c                  C   sD   t g dg dg} | js J | ddgg dg} | jr@J d S )N)r	   r	   rG   rG   rG   )r
   r   r
   r   r   r	   rG   )r
   r   r   )r   r/   Zis_monotonic_increasingZ
set_levels)indr   r   r   $test_level_setting_resets_attributes   s    
rn   c                  C   s   t tdd} t tdd}t j| jdd|jdd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jdtjdddd}t|| |jd	}tttjdtjddd	d}t|| d S )Nd   )r;   r;   T)Zfuture_stack)df1df2r
   )ZaxisZfizzZbuzz)rq   rp   r;   rA   r   )Z
check_liker8   )name)r   r\   r-   r.   Zreshapeconcatstackr   rB   rH   r   r   r   r   Zassert_frame_equalZget_level_valuesr   r9   r>   r0   Ztile)rp   rq   rf   r#   r"   r   r   r   %test_rangeindex_fallback_coercion_bug   s&     ru   c                 C   st   |   }t| rd| | d  |   }| j dd}t| ttfsL||ksLJ | jdkrp||kspJ n|dkspJ d S )Nr   T)deepobject)Zmemory_usagerC   rD   
isinstancer   r   Zinferred_type)r2   r"   Zresult2Zresult3r   r   r   test_memory_usage  s    
ry   c                 C   s   | j dksJ d S )Nr   )Znlevels)r2   r   r   r   test_nlevels  s    rz   )%rj   numpyr-   rO   Zpandas._libsr   rc   Zpandas.core.dtypes.castr   Zpandasr   r   r   r   r   Zpandas._testingZ_testingr   r   r$   r5   r:   r@   markZslowrE   rF   rV   rX   r_   rg   ri   rl   rn   ru   ry   rz   r   r   r   r   <module>   s2   
	