a
    Pf+                     @   sN  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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edg dddfeded ddfedeed!ed!gddfedeed!d"d#ggddfgd$d% Zd&d' ZdS )(    )StringIO)ascii_uppercaseN)PYPY)CategoricalIndex
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	  Z
abcdefghij   r   
   )sizedtypecategorybufd)nparraylistZtakerandomdefault_rngintegersintr   astypeZisnar   info)ndatasr   s2 r   ^/var/www/ai-form-bot/venv/lib/python3.9/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   Z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}|rR|td7 }|td|  d7 }||ksxJ d S )NZ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.0+ bytes
        )	r   rangelenr   r   getvaluetextwrapdedentmemory_usage)Z%lexsorted_two_level_string_multiindexr'   r$   Zserr   resultexpectedr   r   r   test_info_series)   s$    r1   c                  C   sX   t ddgdd} t }| j|d | }t|  }td| d}||ksTJ 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   r+   floatr.   r,   r-   )r   r   r/   Zmemory_bytesr0   r   r   r   test_info_memoryI   s    r5   c                  C   sX   t tjdd} d}tjt|d | jdd W d    n1 sJ0    Y  d S )Nr	   e   zIArgument `max_cols` can only be passed in DataFrame.info, not Series.info)matchr2   )Zmax_cols)	r   r   r   r   standard_normalpytestZraises
ValueErrorr   )r   msgr   r   r   test_info_wide^   s    r<   c                  C   sp   g d} d}| D ]Z}t tjdjd|d|}t }|j|d | }|dd| }||v sJ qd S )N)Zint64Zfloat64zdatetime64[ns]ztimedelta64[ns]Z
complex128objectboolr
   r	   )r   r   r   z non-null     )	r   r   r   r   r   r   r   r   r+   )Zdtypesr   r   r   r   resr(   r   r   r   test_info_shows_dtypese   s    	 r@   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s2J t ddgi}|jdd| ksXJ d S Nr!   r2   foor#   T)r$   deeprD   r   r.   Zs_with_object_indexZs_objectr   r   r   $test_info_memory_usage_deep_not_pypyy   s    
rH   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s2J t ddgi}|jdd| ksXJ d S rB   rF   rG   r   r   r    test_info_memory_usage_deep_pypy   s    
rI   zseries, plusr2   )r2   r	      r#   ABCrJ   rC   barc                 C   s<   t  }| j|d |r(d| v s8J nd| vs8J d S )Nr   +)r   r   r+   )Zseriesplusr   r   r   r    test_info_memory_usage_qualified   s
    rO   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sjJ |jd	d
|jd	d
 ksJ |jd	d
 |jd	d
 }|dk sJ d S )Nd   Z20160101)Zperiodsiddate)namesr	   r#   TrE   i  )r*   r   r   from_productr   r   r   r   r   r   r8   Zunstackvaluesnbytesr.   sum)NMr$   r   Z	unstackeddiffr   r   r   (test_info_memory_usage_bug_on_multiindex   s    
 r[   )ior   stringr   r,   numpyr   r9   Zpandas.compatr   Zpandasr   r   r   r   r    r&   markZparametrizer1   r5   r<   r@   ZxfailrH   rI   r   rT   r)   rO   r[   r   r   r   r   <module>   s:   




 
	