o
    Û­jU  ã                   @   sl  d dl mZ d dlmZ d dlZd dlZd dlZd dlm	Z	 d dl
mZmZ d dlmZmZmZmZmZ dd„ Zd	d
„ Zej dddg¡dd„ ƒZdd„ Zdd„ Zdd„ Zejjedd�dd„ ƒZejje dd�dd„ ƒZej dg d¢dfeedƒd d!�e	ƒ o‚e feedƒed!�dfe  e!d"ƒe!d"ƒg¡dfe  e!d"ƒd#d$gg¡e	ƒ o§e fg¡d%d&„ ƒZ"d'd(„ Z#dS ))é    )ÚStringIO)Úascii_uppercaseN)Úusing_string_dtype)ÚHAS_PYARROWÚPYPY)ÚCategoricalIndexÚIndexÚ
MultiIndexÚSeriesÚ
date_rangec                  C   sx   d} t  tdƒ¡ t j d¡jdd| td�¡}t|ƒ 	d¡}| 
¡  tƒ }|j|d� ||d	k }tƒ }|j|d� d S )
NiÄ	  Ú
abcdefghijé   r   é
   )ÚsizeÚdtypeÚcategory©ÚbufÚd)ÚnpÚarrayÚlistÚtakeÚrandomÚdefault_rngÚintegersÚintr
   ÚastypeÚisnar   Úinfo)ÚnÚdataÚsr   Ús2© r$   úb/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/series/methods/test_info.pyÚ'test_info_categorical_column_just_works   s   ÿr&   c                  C   s4   t ddgƒ} tt d¡| d�}tƒ }|j|d� d S )NÚaÚbr   ©Úindexr   )r   r
   r   Úzerosr   r   )Úidxr"   r   r$   r$   r%   Útest_info_categorical'   s   r-   ÚverboseTFc           	      C   s’   | }t tt|ƒƒ|dd�}tƒ }|j||d� | ¡ }t d¡}|r)|t d¡7 }|r/tr/dnd}|t d| 	¡ › d	|› d
�¡7 }||ksGJ ‚d S )NÚsth)r*   Úname)r.   r   zw        <class 'pandas.core.series.Series'>
        MultiIndex: 10 entries, ('foo', 'one') to ('qux', 'three')
        z�            Series name: sth
            Non-Null Count  Dtype
            --------------  -----
            10 non-null     int64
            Ú ú+z/        dtypes: int64(1)
        memory usage: z.0z bytes
        )
r
   ÚrangeÚlenr   r   ÚgetvalueÚtextwrapÚdedentr   Úmemory_usage)	Ú%lexsorted_two_level_string_multiindexr.   Úusing_infer_stringr*   Úserr   ÚresultÚexpectedÚ	qualifierr$   r$   r%   Útest_info_series/   s*   ÿÿþþÿr?   c                  C   sX   t ddgdd�} tƒ }| j|d� | ¡ }t|  ¡ ƒ}t d|› d�¡}||ks*J ‚d S )Né   r   Úi8©r   r   zÕ    <class 'pandas.core.series.Series'>
    RangeIndex: 2 entries, 0 to 1
    Series name: None
    Non-Null Count  Dtype
    --------------  -----
    2 non-null      int64
    dtypes: int64(1)
    memory usage: z bytes
    )r
   r   r   r5   Úfloatr8   r6   r7   )r"   r   r<   Úmemory_bytesr=   r$   r$   r%   Útest_info_memoryR   s   øÿrE   c                  C   sZ   t tj d¡ d¡ƒ} d}tjt|d�� | jdd� W d   ƒ d S 1 s&w   Y  d S )Nr   ée   zIArgument `max_cols` can only be passed in DataFrame.info, not Series.info)Úmatchr@   )Úmax_cols)	r
   r   r   r   Ústandard_normalÚpytestÚraisesÚ
ValueErrorr   )r"   Úmsgr$   r$   r%   Útest_info_wideg   s
   "ÿrN   c                  C   sp   g d¢} d}| D ]-}t tj d¡jd|d� |¡ƒ}tƒ }|j|d� | ¡ }|d›d|› �}||v s5J ‚qd S )N)Úint64Úfloat64zdatetime64[ns]ztimedelta64[ns]Ú
complex128ÚobjectÚboolr   r   )r   r   r   z non-null     )	r
   r   r   r   r   r   r   r   r5   )Údtypesr    r   r"   r   Úresr0   r$   r$   r%   Útest_info_shows_dtypesn   s   	 úrV   z'on PyPy deep=True doesn't change result)Úreasonc                  C   s\   t ddgidgd�} | jddd�| jdd�ksJ ‚t ddgiƒ}|jdd�| ¡ ks,J ‚d S ©Nr'   r@   Úfoor)   T)r*   Údeep©rZ   ©r
   r8   ©Ús_with_object_indexÚs_objectr$   r$   r%   Ú$test_info_memory_usage_deep_not_pypy‚   ó   ÿ
þr`   z(on PyPy deep=True does not change resultc                  C   s\   t ddgidgd�} | jddd�| jdd�ksJ ‚t ddgiƒ}|jdd�| ¡ ks,J ‚d S rX   r\   r]   r$   r$   r%   Ú test_info_memory_usage_deep_pypy�   ra   rb   zindex, plus)r@   r   é   ÚABCÚstrrB   rc   rY   Úbarc                 C   sJ   t d| d�}tƒ }|j|d� |rd| ¡ v sJ ‚d S d| ¡ vs#J ‚d S )Nr@   r)   r   r2   )r
   r   r   r5   )r*   ÚplusÚseriesr   r$   r$   r%   Ú test_info_memory_usage_qualified˜   s   ri   c                  C   s¶   d} t tƒ}tjttƒtd| d�gddgd�}ttj 	d¡ 
| | ¡|d�}| d¡}|jj|jjks5J ‚|jd	d
�|jd	d
� ¡ ksEJ ‚|jd	d
� ¡ |jd	d
� }|dk sYJ ‚d S )Néd   Ú20160101)ÚperiodsÚidÚdate)Únamesr   r)   Tr[   iÐ  )r4   r   r	   Úfrom_productr   r   r
   r   r   r   rI   ÚunstackÚvaluesÚnbytesr8   Úsum)ÚNÚMr*   r"   Ú	unstackedÚdiffr$   r$   r%   Ú(test_info_memory_usage_bug_on_multiindex¯   s   þ
 ry   )$Úior   Ústringr   r6   Únumpyr   rJ   Úpandas._configr   Úpandas.compatr   r   Úpandasr   r   r	   r
   r   r&   r-   ÚmarkÚparametrizer?   rE   rN   rV   Úxfailr`   rb   r   rR   rp   r3   ri   ry   r$   r$   r$   r%   Ú<module>   s@    	
"





þûþ

