o
    _~#gG#                     @   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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@  int32i  )r   from_tuplescodesdtypefrom_productrangeall)i r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/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-   C   r.   r   c                 S   r(   r)   r   r*   r   r   r   r-   I   r.   c                 S   r(   r/   r   r*   r   r   r   r-   L   r.   )	nparanger   DatetimeIndexr   from_arraysr"   r    assert_index_equal)intsnaiveawareidxr$   outerinnerr   r   r   $test_values_multiindex_datetimeindex6   s   
r;   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   r(   r)   r   r*   r   r   r   r-   X   r.   z6test_values_multiindex_periodindex.<locals>.<listcomp>r   c                 S   r(   r/   r   r*   r   r   r   r-   [   r.   r   c                 S   r(   r)   r   r*   r   r   r   r-   a   r.   c                 S   r(   r/   r   r*   r   r   r   r-   d   r.   )r0   r1   r   PeriodIndexr   r3   r"   r   r    r4   int64)r5   pidxr8   r$   r9   r:   r   r   r   "test_values_multiindex_periodindexP   s   rB   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   r0   r1   repeatr   array	is_unique)
major_axis
minor_axismajor_codesminor_codesr   r   r   r   test_consistencyh   s   
rM   c                 C   s   d}|   R}|td| 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sOJ q@W d    d S 1 s[w   Y  d S )N2   _SIZE_CUTOFF   onetwonamesintpr>   r   r
   r   )contextsetattrlibindexr   r   r0   r1   get_indexerr"   r    r!   lenget_loc)monkeypatchsize_cutoffmr   r$   r   r   r   r   test_hash_collisions   s   
 "r_   c                   C   s   d S )Nr   r   r   r   r   	test_dims   s   r`   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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)valsr8   indicesmsgr   r   r   test_take_invalid_kwargs   s   "rr   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 MultiIndexrd   )rj   rk   NotImplementedErrorr   isna)r8   rq   r   r   r   test_isna_behavior   s   "ru   c              	   C   s  d}|   }|td| tjdtddgt|d gdgd}tj	t
dd |jd	  W d    n1 s9w   Y  tj	t
d
d |jd  W d    n1 sUw   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 sw   Y  tj	t
d
d |jd  W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )NrN   rO   r
   r   dest)r   columnsz^\(-1, 0\)$rd   ))r   rv   z
^\(3, 0\)$))r   r   rv   )rV   rW   rX   r   	DataFramer   r   r   rj   rk   KeyErrorloc)r\   r]   r^   df_below_cutoffdf_above_cutoffr   r   r   test_large_multiindex_error   s8   
"r~   c                 C   sx   |  tdd td}tj||dt||gd}d}tjt	|d |d 
  W d    d S 1 s5w   Y  d S )NrO   rN   )r   br   z&'Series' object has no attribute 'foo'rd   r   )rW   rX   r   r   ry   r   r3   rj   rk   AttributeErrorrf   )r\   rdfrq   r   r   r   +test_mi_hashtable_populated_attribute_error   s   "r   c                 C   s   | d }|  |du sJ d S )Nr   T)$_can_hold_identifiers_and_holds_name)r8   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 operationsrd   r   z#assignment destination is read-only)	rD   r   recompilerj   rk   rl   rn   rT   )r8   rD   r   mutable_regexrT   r   r   r   test_metadata_immutable   s$   
"r   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	   ra   ra   ra   )r
   r   r
   r   r   r	   ra   )r
   r   r   )r   r3   is_monotonic_increasing
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| jdd|jddddd}dd	g|j_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   )rC   rC   T)future_stack)df1df2r
   )axisfizzbuzz)r   r   rC   rS   r   )
check_liker>   )name)r   ry   r0   r1   reshapeconcatstackr   rT   r   r   r   r    assert_frame_equalget_level_valuesr   r@   rF   r4   tile)r   r   r   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_usagerZ   r[   
isinstancer   r   inferred_type)r8   r$   result2result3r   r   r   test_memory_usage  s   
r   c                 C   s   | j dksJ d S )Nr   )nlevels)r8   r   r   r   test_nlevels   s   r   )%r   numpyr0   rj   pandas._libsr   rX   pandas.core.dtypes.castr   pandasr   r   r   r   r   pandas._testing_testingr    r   r&   r;   rB   rM   markslowr_   r`   rr   ru   r~   r   r   r   r   r   r   r   r   r   r   r   <module>   s4    
	