a
    Pf                     @   sj   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mZ d dlmZ G dd dZdS )    N)np_version_gte1p25)is_complex_dtypeis_extension_array_dtype)NAPeriodSeries	Timedelta	Timestamp
date_rangec                   @   sp   e Z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ejddd Zdd ZdS )TestSeriesDescribec              	   C   sN   t g ddd}| }t dd| ddddd	gdg d
d}t|| d S )N)r               Zint_dataname   r   r   r   r   r   countmeanstdmin25%50%75%maxr   index)r   describer   tmassert_series_equalselfserresultexpected r&   b/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/series/methods/test_describe.pytest_describe_ints   s    z%TestSeriesDescribe.test_describe_intsc                 C   s>   t g ddd}| }t g ddg dd}t|| d S )N)TTFFFZ	bool_datar   )r   r   Fr   r   uniquetopfreqr   r   r   r   r    r!   r&   r&   r'   test_describe_bools!   s    z&TestSeriesDescribe.test_describe_boolsc                 C   s>   t g ddd}| }t g ddg dd}t|| d S )N)ar/   bcdZstr_datar   )r   r   r/   r   r)   r   r-   r!   r&   r&   r'   test_describe_strs)   s    z%TestSeriesDescribe.test_describe_strsc              
   C   s   t tdtdtdtdtdgdd}| }t d|d	 | |d
 |d |d	 |d |d gdg dd}t|| d S )Nz1 daysz2 daysz3 daysz4 daysz5 daysZtimedelta_datar   r   r   r   r   r   r   r   r   )r   r   r   r   r   r    r!   r&   r&   r'   test_describe_timedelta641   s     
.z,TestSeriesDescribe.test_describe_timedelta64c                 C   sZ   t tddtddtddgdd}| }t dd|d dgdg d	d
}t|| d S )Nz2020-01Mz2019-12Zperiod_datar   r   r   r   r)   r   )r   r   r   r   r    r!   r&   r&   r'   test_describe_periodD   s    z'TestSeriesDescribe.test_describe_periodc                 C   s   t d d gtd}| }t ddtjtjgtg dd}t|| |d d  }t|| t|jd srJ t|jd sJ d S )Ndtyper   r)   r8   r   r   r   )	r   objectr   npnanr   r    isnanZilocr"   sr$   r%   r&   r&   r'   test_describe_empty_objectQ   s    z-TestSeriesDescribe.test_describe_empty_objectc           	   
   C   s   |}t |}tddd}tddd}tt|||d|d}| }tdtddd||||d |d |d ||g|g dd	}t|| d S )
N  r   r   tzr   r   r   r   r   r   r   r   r   r   r   )strr	   r   r
   r   Ztz_localizer   r    )	r"   Ztz_naive_fixturerC   r   startendr?   r$   r%   r&   r&   r'   test_describe_with_tzb   s&    	z(TestSeriesDescribe.test_describe_with_tzc                 C   s   d }}t ddd}t ddd}tt|||d|d}| }tdt d|dt d|dt d	|dt d|dt d
|dt d|dg|g dd}t|| d S )NZCETrA   r   r   rB   r   z2018-01-03 00:00:00z2018-01-01 00:00:00z2018-01-02 00:00:00z2018-01-04 00:00:00z2018-01-05 00:00:00rD   r   )r	   r   r
   r   r   r    )r"   r   rC   rF   rG   r?   r$   r%   r&   r&   r'   test_describe_with_tz_numericy   s$    





	z0TestSeriesDescribe.test_describe_with_tz_numericc              	   C   s^   t tddd}| }t dtdtdtdtdtdtdgg d	d
}t|| d S )NZ2012r   )Zperiodsz
2012-01-02z
2012-01-01z2012-01-01T12:00:00z2012-01-02T12:00:00z
2012-01-03rD   )r   )r   r
   r   r	   r   r    r>   r&   r&   r'   *test_datetime_is_numeric_includes_datetime   s    	z=TestSeriesDescribe.test_datetime_is_numeric_includes_datetimez.ignore:Casting complex values to real discardsc              	   C   s   t |rd}nt|rdnd }tddg|d}|dkrttrttjtdd |  W d    n1 sf0    Y  d S | }tdd	| dd
d	ddgg d|d}t	
|| d S )NFloat64Z
complex128r   r   r7   z$^a must be an array of real numbers$)matchg       @g      ?g      ?g      ?g      ?r   )r   r8   )r   r   r   r   pytestZraises	TypeErrorr   r   r   r    )r"   Zany_numeric_dtyper8   r#   r$   r%   r&   r&   r'   test_numeric_result_dtype   s2    &
z,TestSeriesDescribe.test_numeric_result_dtypec              	   C   sr   t dgdd}td  | }W d    n1 s60    Y  t ddtdddddgdg dd}t|| d S )Ng        rK   r7   r   r   r   r9   )r   r   Zassert_produces_warningr   r   r    r!   r&   r&   r'   test_describe_one_element_ea   s    &z/TestSeriesDescribe.test_describe_one_element_eaN)__name__
__module____qualname__r(   r.   r3   r4   r6   r@   rH   rI   rJ   rM   markfilterwarningsrO   rP   r&   r&   r&   r'   r      s   


r   )numpyr;   rM   Zpandas.compat.numpyr   Zpandas.core.dtypes.commonr   r   Zpandasr   r   r   r   r	   r
   Zpandas._testingZ_testingr   r   r&   r&   r&   r'   <module>   s    