a
    oÝEbj!  ã                   @   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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s†J ‚t  dgtd
ƒg¡} | jd jdks®J ‚t  dgtdƒg¡} | jd dk ¡ sØJ ‚| jd dk ¡ sîJ ‚d S )N)ÚAé   )r   é   r   Zint8r   Úaé(   i�  Zint16i@œ  Zint32éè  )r   Úfrom_tuplesÚcodesÚdtypeÚfrom_productÚrangeÚall)Úi© r   úi/home/ja/django-apps/lartica_env/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     ÈNÎZol    ÈNÎZ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&   B   r'   r	   c                 S   s   g | ]}|d  ‘qS r"   r   r#   r   r   r   r&   H   r'   c                 S   s   g | ]}|d  ‘qS r(   r   r#   r   r   r   r&   K   r'   )	ÚnpÚaranger   ZDatetimeIndexr   Úfrom_arraysr   r   Úassert_index_equal)ÚintsZnaiveZawareÚidxr   ÚouterÚinnerr   r   r   Ú$test_values_multiindex_datetimeindex5   s    
r1   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   s   g | ]}|d  ‘qS r"   r   r#   r   r   r   r&   W   r'   z6test_values_multiindex_periodindex.<locals>.<listcomp>c                 S   s   g | ]}|d  ‘qS r(   r   r#   r   r   r   r&   Z   r'   r	   c                 S   s   g | ]}|d  ‘qS r"   r   r#   r   r   r   r&   `   r'   c                 S   s   g | ]}|d  ‘qS r(   r   r#   r   r   r   r&   c   r'   )
r)   r*   r   ZPeriodIndexr   r+   r   r   r   r,   )r-   Zpidxr.   r   r/   r0   r   r   r   Ú"test_values_multiindex_periodindexO   s    r4   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 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   r)   r*   Úrepeatr   ÚarrayZ	is_unique)Z
major_axisZ
minor_axisZmajor_codesZminor_codesÚindexr   r   r   Útest_consistencyg   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   ÚoneÚtwo©ÚnamesZintp)r   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    ÿ rB   c                   C   s   d S )Nr   r   r   r   r   Ú	test_dims�   s    rC   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 s¬0    Y  d}tjt|d�� |j|dd� W d   ƒ n1 sì0    Y  d S )Nr   ÚBz
2011-01-01z
2011-01-02ÚstrÚdtr>   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)Úvalsr.   ÚindicesÚmsgr   r   r   Útest_take_invalid_kwargs‘   s    ,,rS   c                 C   s@   d}t jt|d�� t | ¡ W d   ƒ n1 s20    Y  d S )Nz"isna is not defined for MultiIndexrG   )rL   rM   ÚNotImplementedErrorr   Zisna)r.   rR   r   r   r   Útest_isna_behavior£   s    rU   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 sŠ0    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æ0    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\)$rG   ))éÿÿÿÿr   rV   z
^\(3, 0\)$))r   r   rV   i!¡ )	r   Ú	DataFramer   r   r   rL   rM   ÚKeyErrorÚloc)Zdf_below_1000000Zdf_above_1000000r   r   r   Útest_large_multiindex_error¬   s    ÿ((ÿ(r\   c                  C   sr   t tdƒƒ} tj| | dœt dd„ | D ƒ¡d�}d}tjt|d�� |d  	¡  W d   ƒ n1 sd0    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>©r:   z&'Series' object has no attribute 'foo'rG   r
   )
r7   r   r   rY   r   r   rL   rM   ÚAttributeErrorrI   )ÚrÚdfrR   r   r   r   Ú#test_million_record_attribute_error¾   s    ÿrb   c                 C   s   | d }|   |¡du sJ ‚d S )Nr   T)Z$_can_hold_identifiers_and_holds_name)r.   Úkeyr   r   r   Útest_can_hold_identifiersÊ   s    rd   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 sŠ0    Y  tjt|d�� |d |d< W d   ƒ n1 sÄ0    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 operationsrG   r   z#assignment destination is read-only)	r6   r   ÚreÚcompilerL   rM   rN   rO   r?   )r.   r6   r   Zmutable_regexr?   r   r   r   Útest_metadata_immutableÏ   s    
*2*4rg   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 sZ0    Y  | jrnJ ‚d S )N)r   r   rD   rD   rD   )r   r	   r   r	   r   r   rD   )r   r   r	   T)Zinplace)r   r+   Zis_monotonicr   Zassert_produces_warningÚFutureWarningZ
set_levels)Úindr   r   r   Ú$test_level_setting_resets_attributesâ   s
    
8rj   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 )Néd   )r5   r5   )rI   Úbarr   )ZaxisZfizzZbuzz)rl   rI   r5   r>   r^   T)Z
check_like)Úname)r   rY   r)   r*   ZreshapeÚconcatÚstackr:   r?   rE   r   r   r   r   Zassert_frame_equalZget_level_valuesr   r8   r,   Ztile)rI   rl   ra   r   r   r   r   r   Ú%test_rangeindex_fallback_coercion_bugë   s     þrp   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_usager@   rA   Ú
isinstancer   r   Zinferred_type)r.   r   Zresult2Zresult3r   r   r   Útest_memory_usage  s    
rt   c                 C   s   | j dksJ ‚d S )Nr	   )Znlevels)r.   r   r   r   Útest_nlevels  s    ru   )#re   Únumpyr)   rL   Zpandas.core.dtypes.castr   Zpandasr   r   r   r   Zpandas._testingZ_testingr   Zpandas.core.apir   r   r    r1   r4   r;   ÚmarkZslowrB   rC   rS   rU   r\   rb   rd   rg   rj   rp   rt   ru   r   r   r   r   Ú<module>   s2   
		