a
    Pfc(                     @   s   d dl Z d dlZd dlZd dlZd dl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ejdeeegdd ZdS )    N)	DataFrameIndexSeries
date_rangeperiod_rangetimedelta_rangec                   @   s&  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zej	
deedd ddedd edD eg dd edddeddddedddeedejdeedejdeedejdeddgedd edD ejeddejeg d dgd!d" Zej	
d#eeded$ggd%d& Zd'd( Zd)d* Zd+d, Z d-d. Z!d/d0 Z"d1d2 Z#d3d4 Z$ej	
d5d6egd7d8 Z%ej	
d5d9d:gd;d< Z&d=d> Z'd?d@ Z(dAdB Z)ej	
dCg dDdEdF Z*dGdH Z+dIdJ Z,ej	-dKej	
dLg dMej	
d5e.e/e0egdNdO Z1d9S )PTestSeriesMiscc                 C   s@   t td}dt|v sJ dt|vs,J dt|vs<J d S )Nabcdstrdtcatr   listdirselfs r   U/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/series/test_api.pytest_tab_completion   s    z"TestSeriesMisc.test_tab_completionc                 C   sD   t tddd}dt|v s J dt|vs0J dt|vs@J d S )N1/1/2015   periodsr   r
   r   )r   r   r   r   r   r   r   test_tab_completion_dt   s    z%TestSeriesMisc.test_tab_completion_dtc                 C   sD   t tddd}dt|v s J dt|v s0J dt|vs@J d S )NZabbcdcategorydtyper   r
   r   r   r   r   r   r   test_tab_completion_cat#   s    z&TestSeriesMisc.test_tab_completion_catc                 C   sJ   t tdddd}dt|v s&J dt|vs6J dt|v sFJ d S )Nr   r   r   r   r   r
   r   )r   r   astyper   r   r   r   r   test_tab_completion_cat_str+   s    z*TestSeriesMisc.test_tab_completion_cat_strc                 C   sJ   g d}t tdd}tdd |j D }t|tt| d S )N)
categoriescodesorderedZset_categoriesZadd_categoriesZremove_categoriesZrename_categoriesZreorder_categoriesZremove_unused_categoriesZ
as_orderedZas_unorderedZaabbcder   c                 S   s   h | ]}| d s|qS )_)
startswith).0rr   r   r   	<setcomp>C       zFTestSeriesMisc.test_tab_completion_with_categorical.<locals>.<setcomp>)	r   r   r   sortedr   __dir__tmassert_almost_equalset)r   Z
ok_for_catr   resultsr   r   r   $test_tab_completion_with_categorical2   s    z3TestSeriesMisc.test_tab_completion_with_categoricalindexabr   r   r   c                 C   s   g | ]}t |qS r   )r
   r&   ir   r   r   
<listcomp>J   r)   zTestSeriesMisc.<listcomp>
   )foobarZbaz   z
2020-01-01r   D)r   freqz1 dayTFc                 C   s   g | ]}d | qS )ar   r3   r   r   r   r5   S   r)   e   ZABCDZEFGH)r      r9      c                 C   sh   t |td}t|}t|jjddD ]<\}}|dk rVt|trb| rb||v sbJ q&||vs&J q&d S )Nr1   r   r   )leveld   )	r   objectr   	enumerater1   unique
isinstancer
   isidentifier)r   r1   r   Zdir_sr4   xr   r   r   test_index_tab_completionF   s     z(TestSeriesMisc.test_index_tab_completionserr>   c                 C   s>   d}t jt|d t| W d    n1 s00    Y  d S )Nzunhashable type: 'Series'match)pytestraises	TypeErrorhashr   rJ   msgr   r   r   test_not_hashableb   s    z TestSeriesMisc.test_not_hashablec                 C   s   t |j| d S N)r,   Zassert_contains_allr1   )r   datetime_seriesr   r   r   test_containsh   s    zTestSeriesMisc.test_containsc                 C   sj   t ddtjg}t|jdd|jdd | ddksBJ |ddksTJ |ddksfJ d S )Nr>   r9   rows)Zaxisr1   r?   r   )	r   npnanr,   assert_series_equalZdropnasumZ_get_axis_numberZ_get_axis_namer   r   r   r   test_axis_aliask   s
    zTestSeriesMisc.test_axis_aliasc                 C   s   t tjsJ d S rT   )pydocgetdocr   r1   )r   r   r   r   test_class_axisr   s    zTestSeriesMisc.test_class_axisc                 C   sR   t tjddg dtdddd}dd	 }||}| }t	|| d S )
Nr9   )  r?   )ABCz1/1/2000r`   r   )columnsr1   c                 S   s   | |    S rT   )idxmax)rH   r   r   r   f   s    z-TestSeriesMisc.test_ndarray_compat.<locals>.f)
r   rX   randomdefault_rngstandard_normalr   applymaxr,   rZ   )r   Ztsdfrf   resultexpectedr   r   r   test_ndarray_compatw   s    

z"TestSeriesMisc.test_ndarray_compatc                 C   sF   t tjdd}t t|}t dtddd}t|| d S )Nr9   r6   r>   float64r@   )	r   rX   rg   rh   ri   Z	ones_likeranger,   rZ   )r   r   rl   rm   r   r   r   test_ndarray_compat_like_func   s    z,TestSeriesMisc.test_ndarray_compat_like_funcc                 C   sj   t tjdd}tjtdd |jdd}W d    n1 sF0    Y  t	||j
jdd d S )Nr9   r6   zravel is deprecatedrK   F)order)r   rX   rg   rh   ri   r,   assert_produces_warningFutureWarningZravelr-   valuesr   r   rl   r   r   r   test_ndarray_compat_ravel   s    *z(TestSeriesMisc.test_ndarray_compat_ravelc                 C   s   t td}|jsJ d S )Nr   )r   rC   empty)r   Zs_emptyr   r   r   test_empty_method   s    
z TestSeriesMisc.test_empty_methodr   int64c                 C   s   t dg|d}|jrJ d S )Nr>   r@   )r   ry   )r   r   Zfull_seriesr   r   r   test_empty_method_full_series   s    z,TestSeriesMisc.test_empty_method_full_seriesNZInt64c                 C   s"   t td|d}|jdksJ d S )N	   r   )r   rp   size)r   r   r   r   r   r   test_integer_series_size   s    z'TestSeriesMisc.test_integer_series_sizec                 C   sF   t ddgdd}|ji ksJ d|jd< |d }|jddiksBJ d S )Nr   r>   abc)nameversion)r   attrsrw   r   r   r   
test_attrs   s
    
zTestSeriesMisc.test_attrsc                 C   sV   t d ttd}d}tjt|dd t| W d    n1 sH0    Y  d S )NZjinja2r   zSeries._data is deprecatedF)rL   Zcheck_stacklevel)	rM   Zimportorskipr   rC   r,   rt   DeprecationWarninginspect
getmembersrQ   r   r   r   test_inspect_getmembers   s    

z&TestSeriesMisc.test_inspect_getmembersc                 C   st   t dddd}ttjdjdd|d}d|jvs8J d	}tjt	|d
 |j
 W d    n1 sf0    Y  d S )Nr   r6   Z1s)startr   r;   r9   )r~   )r1   r7   z&'Series' object has no attribute 'foo'rK   )r   r   rX   rg   rh   normal__dict__rM   rN   AttributeErrorr7   )r   ZtdirJ   rR   r   r   r   test_unknown_attribute   s    z%TestSeriesMisc.test_unknown_attributeop)yeardaysecondweekdayc                 C   sH   d| d}t jt|d t|| W d    n1 s:0    Y  d S )Nz"'Series' object has no attribute ''rK   )rM   rN   r   getattr)r   r   rU   rR   r   r   r   &test_datetime_series_no_datelike_attrs   s    z5TestSeriesMisc.test_datetime_series_no_datelike_attrsc                 C   s>   t dddd}|jdksJ |jdks,J |jdks:J d S )N  r>   r6   r   monthr   )r   r   r   r   )r   rJ   r   r   r   )test_series_datetimelike_attribute_access   s    z8TestSeriesMisc.test_series_datetimelike_attribute_accessc                 C   sL   t dddd}d}tjt|d |j W d    n1 s>0    Y  d S )Nr   r>   r6   r   z*'Series' object has no attribute 'weekday'rK   )r   rM   rN   r   r   rQ   r   r   r   1test_series_datetimelike_attribute_access_invalid   s    z@TestSeriesMisc.test_series_datetimelike_attribute_access_invalidz4ignore:Downcasting object dtype arrays:FutureWarningzkernel, has_numeric_only)$)ZskewT)varT)allF)prodT)anyF)ZidxminF)quantileF)re   F)minT)ZsemT)meanT)ZnuniqueF)rk   T)r[   T)countF)ZmedianT)ZstdT)ZbackfillF)ZrankT)Z
pct_changeF)ZcummaxF)shiftF)diffF)ZcumsumF)ZcumminF)ZcumprodF)fillnaF)ffillF)padF)ZbfillF)sampleF)tailF)takeF)headF)covF)corrFc           
      C   s|  t g d|d}|dkr |f}nn|dkr0|f}n^|dkr@|f}nN|dkrNd}n@|dkr\d	}n2|dkrjd
}n$|dkr|dgf}n|dkrd}nd}t||}|sd}tjt|d ||ddi W d    n1 s0    Y  n|tu r4d| d}tjt|d ||ddi W d    n1 s(0    Y  nD||ddi}||ddi}	t|	t rjt||	 n||	ksxJ d S )N)r   r>   r>   r   Zcorrwithr   r   Znth)r   r   )T)r   r   r   r   )g      ?r   zP(got an unexpected keyword argument 'numeric_only'|too many arguments passed in)rK   Znumeric_onlyTzSeries.z2 does not allow numeric_only=True with non-numericF)	r   r   rM   rN   rO   rC   rF   r,   rZ   )
r   ZkernelZhas_numeric_onlyr   rJ   argsmethodrR   rl   rm   r   r   r   test_numeric_only   sB    -

.
0z TestSeriesMisc.test_numeric_only)2__name__
__module____qualname__r   r   r   r    r0   rM   markparametrizer   r   rp   r   r   r   rX   ZarangeZuint64r{   ro   pdZ
MultiIndexfrom_tuplesziprI   r   rC   rS   rV   r\   r_   rn   rq   rx   rz   r|   r   r   r   r   r   r   r   filterwarningsboolintfloatr   r   r   r   r   r      sd   








	

)r   	converterc                 C   sH   t t* | tdg| dks&J W d    n1 s:0    Y  d S )Nr>   )r,   rt   ru   r   )r   r   r   r   test_float_int_deprecated(  s    r   )r   r]   numpyrX   rM   Zpandasr   r   r   r   r   r   r   Zpandas._testingZ_testingr,   r   r   r   r   r   complexr   r   r   r   r   <module>   s      