o
    5c                     @   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   sp   d} t tdt jjdd| d}t|d}|  t	 }|j
|d ||dk }t	 }|j
|d d S )	Ni	  
abcdefghijr   
   sizecategorybufd)nparraylisttakerandomrandintr   astypeisnar   info)ndatasr   s2 r   ^/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/io/formats/test_series_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b   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 }|td|  d7 }||ks<J 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.0+ bytes
        )	r   rangelenr   r   getvaluetextwrapdedentmemory_usage)%lexsorted_two_level_string_multiindexr)   r%   serr   resultexpectedr   r   r   test_info_series'   s$   r6   c                  C   sX   t ddgdd} t }| j|d | }t|  }td| d}||ks*J d S )N   r#   i8)dtyper   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.   floatr1   r/   r0   )r   r   r4   memory_bytesr5   r   r   r   test_info_memoryG   s   r<   c                  C   sT   t tjd} d}tjt|d | jdd W d    d S 1 s#w   Y  d S )Ne   zIArgument `max_cols` can only be passed in DataFrame.info, not Series.info)matchr7   )max_cols)r   r   r   randnpytestraises
ValueErrorr   )r   msgr   r   r   test_info_wide\   s
   "rE   c                  C   sj   g d} d}| D ]*}t tjjd|d|}t }|j|d | }|dd| }||v s2J 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.   )dtypesr   r9   r   r   resr+   r   r   r   test_info_shows_dtypesc   s   	rM   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!   r7   foor$   T)r%   deeprQ   r   r1   s_with_object_indexs_objectr   r   r   $test_info_memory_usage_deep_not_pypyw      
rW   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 rO   rS   rT   r   r   r    test_info_memory_usage_deep_pypy   rX   rY   zseries, plusr7   )r7   r#      r$   ABCrZ   rP   barc                 C   s>   t  }| j|d |rd| v sJ d S d| vsJ d S )Nr   +)r   r   r.   )seriesplusr   r   r   r    test_info_memory_usage_qualified   s
   r`   c                  C   s   d} t t}tjtttd| dgddgd}ttj	| | |d}|
d}|jj|jjks2J |jdd	|jdd	 ksBJ |jdd	 |jdd	 }|d
k sVJ d S )Nd   20160101)periodsiddate)namesr$   TrR   i  )r-   	uppercaser   from_productr   r   r   r   r   r@   unstackvaluesnbytesr1   sum)NMr%   r   	unstackeddiffr   r   r   (test_info_memory_usage_bug_on_multiindex   s   
 rq   ) ior   stringr   rg   r/   numpyr   rA   pandas.compatr   pandasr   r   r   r   r    r(   markparametrizer6   r<   rE   rM   xfailrW   rY   r   rh   r,   r`   rq   r   r   r   r   <module>   s<    



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