a
    Pf                     @   st   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	m
Z
mZmZ d dlmZ G dd dZG dd dZdS )	    )deepcopy)methodcallerN)	DataFrame
MultiIndexSeries
date_rangec                   @   sp   e Zd Zejdddgdd Zejdddgdd Zdd	 Zd
d Z	dd Z
dd Zdd Zdd ZdS )TestDataFramefuncZ_set_axis_namerename_axisc                 C   sx   t ddgddgg}t|d|}|jjd u s2J |jjdksBJ t|ddd|}|jjd u sdJ |jjdkstJ d S )N            foocolsaxis)r   r   indexnamecolumns)selfr	   dfresult r   X/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/generic/test_frame.pytest_set_axis_name   s    z TestDataFrame.test_set_axis_namec                 C   s   t tdtdd tdD tdd tdD d}dd	g}t|||}|jj|ksbJ |j	jd d gksvJ t||d
d|}|j	jdd	gksJ |jjd d gksJ d S )N)r   r   c                 S   s   g | ]}d |fqS )Ar   .0xr   r   r   
<listcomp>"       z7TestDataFrame.test_set_axis_name_mi.<locals>.<listcomp>ZaBcc                 S   s   g | ]}d |fqS )Cr   r   r   r   r   r    #   r!   Zxyz)r   r   ZL1ZL2r   r   )
r   npemptyr   from_tupleslistr   r   namesr   )r   r	   r   Zlevel_namesr   r   r   r   test_set_axis_name_mi   s    z#TestDataFrame.test_set_axis_name_mic              	   C   sD  d}t dgg}t dgg}tjt|d | s8J W d    n1 sL0    Y  tjt|d | rrJ W d    n1 s0    Y  t ddgg}d}tjt|d t| W d    n1 s0    Y  tjt|dH tjt|d |  W d    n1 s0    Y  W d    n1 s60    Y  d S )NzPDataFrame.bool is now deprecated and will be removed in future version of pandasTFmatchz+The truth value of a DataFrame is ambiguous)r   tmZassert_produces_warningFutureWarningboolpytestraises
ValueError)r   Zmsg_warnr   df1Zmsg_errr   r   r   test_nonzero_single_element0   s    **&z)TestDataFrame.test_nonzero_single_elementc                 C   sT   t g dg dtjddtjddd}|d }t|| d S )N)r   barr   r3   r   r3   r   r   )oner4   twothreer5   r5   r4   r6   r      )r   Br"   Dr   )	r   r#   randomdefault_rngstandard_normalgroupbysumr+   assert_metadata_equivalentr   r   r   r   r   r   'test_metadata_propagation_indiv_groupbyG   s    z5TestDataFrame.test_metadata_propagation_indiv_groupbyc                 C   s>   t tjddtddddd}|d}t|| d S )	Nr   )  r   Z20130101rB   s)Zperiodsfreq)r   Z1min)	r   r#   r:   r;   r<   r   Zresampler+   r?   r@   r   r   r   (test_metadata_propagation_indiv_resampleT   s    
z6TestDataFrame.test_metadata_propagation_indiv_resamplec                 C   s  ddd}|  }|tddg |td| ttjdddd	d
dgd}ttjdddd	ddgd}dgt_d|_d|_|j	|d
gdgdd}|jdksJ ttjdddd	t
dd}d|_t||g}|jdksJ W d    n1 s0    Y  d S )Nc              	      s   | j D ] |dkrL|j|j }}t| dd t| d }t|  | q|dkr~d fdd|jD }t|  | qt|  t| d q| S )Nmerge |concat+c                    s"   g | ]}t | d rt | qS )N)getattr)r   or   r   r   r    i   r!   zSTestDataFrame.test_metadata_propagation_indiv.<locals>.finalize.<locals>.<listcomp>)	_metadataleftrightrK   object__setattr__joinZobjs)r   othermethodkwargsrO   rP   valuer   rM   r   finalizea   s    
z?TestDataFrame.test_metadata_propagation_indiv.<locals>.finalizerN   filenameZ__finalize__r   r   r   )r   r   abr   cdz
fname1.csvz
fname2.csvinner)Zleft_onZright_onhowzfname1.csv|fname2.csvabr   zfoo+foo)N)contextsetattrr   r#   r:   r;   ZintegersrN   rY   rF   r&   pdrI   )r   ZmonkeypatchrX   mr1   Zdf2r   r   r   r   test_metadata_propagation_indiv]   s*    

z-TestDataFrame.test_metadata_propagation_indivc                 C   sV   t dg di}d|_g d|d< d|_|jdks6J t|d tg ddd d S )Nr   r   r   r   r   )r   r      y   rM   )r   ri   r+   Zassert_series_equalr   )r   r   r   r   r   test_set_attribute   s    z TestDataFrame.test_set_attributec                 C   s(   t g g dgd}t|}t|| d S )Nr   )datar   r   )r   r   r+   Zassert_frame_equal)r   Zempty_frameZempty_frame_copyr   r   r   test_deepcopy_empty   s    z!TestDataFrame.test_deepcopy_emptyN)__name__
__module____qualname__r.   markparametrizer   r(   r2   rA   rE   rf   rk   rm   r   r   r   r   r      s   

	/r   c                   @   s6   e Zd Zejdddg ddgdd Zdd	 Zd
S )TestDataFrame2rW   r   Truerg   g      @c                 C   s  t g dg dd}d}tjt|d* | jdddd|d	 W d    n1 sX0    Y  tjt|d$ | jd
d|d W d    n1 s0    Y  tjt|d" | jd|d W d    n1 s0    Y  tjt|d$ | jdd|d W d    n1 s0    Y  tjt|d  | j	|d W d    n1 s^0    Y  tjt|d( | j
|jdk|d W d    n1 s0    Y  tjt|d( | j|jdk|d W d    n1 s0    Y  d S )Nrg   )r   rj   rh   )rZ   r[   z8For argument "inplace" expected type bool, received typer)   r   ri   r   )Zmapperr   inplacerZ   )r   ru   r   )rW   ru      )Z
to_replacerW   ru   ru   r   )Zcondru   )r   r.   r/   r0   copyr
   dropfillnareplaceZinterpolateZ_whererZ   mask)r   rW   r   msgr   r   r   test_validate_bool_args   s     820408z&TestDataFrame2.test_validate_bool_argsc                 C   sN  t tjddddgd}tdddddtjg}|d  }tj|d< d}t	j
t|d	  |jdd
dd W d    n1 s0    Y  t	j
t|d	" |jd
dgdd W d    n1 s0    Y  t	j
t|d	 |jddd W d    n1 s0    Y  t	j
t|d	 |jddd W d    n1 s@0    Y  d S )Nr   )rj   r   ZjimZjoer\   r   r   zunexpected keywordr)   r   T)r   in_placerw   )r   )r   r#   r:   r;   r<   rd   ZCategoricalnanrx   r.   r/   	TypeErrorry   Zreindexrz   )r   r   catsr}   r   r   r   test_unexpected_keyword   s    
.0.z&TestDataFrame2.test_unexpected_keywordN)rn   ro   rp   r.   rq   rr   r~   r   r   r   r   r   rs      s   
rs   )rx   r   operatorr   numpyr#   r.   Zpandasrd   r   r   r   r   Zpandas._testingZ_testingr+   r   rs   r   r   r   r   <module>   s    