o
    Û­jG#  ã                   @   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   úf/var/www/html/CropPilot/venv/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     ÈNÎZol    ÈNÎZ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 )Né2   Ú_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 s…w   Y  tj	t
d
d�� |jd  W d   ƒ n1 s¡w   Y  W d   ƒ d S W d   ƒ d S 1 s¹w   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 sƒw   Y  | j}tjt|d�� |d |d< W d   ƒ d S 1 s¤w   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 )Néd   )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    
	