o
    _~#g                     @   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func_set_axis_namerename_axisc                 C   sx   t ddgddgg}t|d|}|jjd u sJ |jjdks!J t|ddd|}|jjd u s2J |jjdks:J d S )N            foocolsaxis)r   r   indexnamecolumns)selfr	   dfresult r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/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s1J |j	jd d gks;J t||d
d|}|j	jdd	gksNJ |jjd d gksXJ d S )N)r   r   c                 S      g | ]}d |fqS )Ar   .0xr   r   r   
<listcomp>"       z7TestDataFrame.test_set_axis_name_mi.<locals>.<listcomp>aBcc                 S   r   )Cr   r   r   r   r   r"   #   r#   xyz)r   r   L1L2r   r   )
r   npemptyr   from_tupleslistr   r   namesr   )r   r	   r   level_namesr   r   r   r   test_set_axis_name_mi   s   z#TestDataFrame.test_set_axis_name_mic              	   C   sR  d}t dgg}t dgg}tjt|d | sJ W d    n1 s&w   Y  tjt|d | r9J W d    n1 sCw   Y  t ddgg}d}tjt|d t| W d    n1 sgw   Y  tjt|d, tjt|d |  W d    n1 sw   Y  W d    d S W d    d S 1 sw   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   tmassert_produces_warningFutureWarningboolpytestraises
ValueError)r   msg_warnr   df1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   r=   r   r=   r   r   )oner>   twothreer?   r?   r>   r@   r      )r   Br%   Dr   )	r   r)   randomdefault_rngstandard_normalgroupbysumr2   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   20130101rL   s)periodsfreq)r   1min)	r   r)   rD   rE   rF   r   resampler2   rI   rJ   r   r   r   (test_metadata_propagation_indiv_resampleT   s   
z6TestDataFrame.test_metadata_propagation_indiv_resamplec                 C   s  ddd}|  x}|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sWJ ttjdddd	t
dd}d|_t||g}|jdksyJ W d    d S 1 sw   Y  d S )Nc              	      s   | j D ]G |dkr&|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   s   " zSTestDataFrame.test_metadata_propagation_indiv.<locals>.finalize.<locals>.<listcomp>)	_metadataleftrightrZ   object__setattr__joinobjs)r   othermethodkwargsr^   r_   valuer   r\   r   finalizea   s   
z?TestDataFrame.test_metadata_propagation_indiv.<locals>.finalizer]   filename__finalize__r   r   r   )r   r   abr   cdz
fname1.csvz
fname2.csvinner)left_onright_onhowzfname1.csv|fname2.csvabr   zfoo+foorY   )contextsetattrr   r)   rD   rE   integersr]   ri   rT   r,   pdrW   )r   monkeypatchrh   mr:   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sJ t|d tg ddd d S )Nr!   r   r   r   r   )r   r      y   r\   )r   r   r2   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   r2   assert_frame_equal)r   empty_frameempty_frame_copyr   r   r   test_deepcopy_empty   s   z!TestDataFrame.test_deepcopy_emptyN)__name__
__module____qualname__r6   markparametrizer   r/   r<   rK   rS   r|   r   r   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 )TestDataFrame2rg   r   Truer}   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 s,w   Y  tjt|d | jd
d|d W d    n1 sMw   Y  tjt|d | jd|d W d    n1 smw   Y  tjt|d | jdd|d W d    n1 sw   Y  tjt|d | j	|d W d    n1 sw   Y  tjt|d | j
|jdk|d W d    n1 sw   Y  tjt|d | j|jdk|d W d    d S 1 sw   Y  d S )Nr}   )r   r   r~   )rk   rl   z8For argument "inplace" expected type bool, received typer0   r!   r   r   )mapperr   inplacerk   )r   r   r   )rg   r      )
to_replacerg   r   r   r   )condr   )r   r6   r7   r8   copyr   dropfillnareplaceinterpolate_whererk   mask)r   rg   r   msgr   r   r   test_validate_bool_args   s.   "z&TestDataFrame2.test_validate_bool_argsc                 C   sL  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 sBw   Y  t	j
t|d	 |jd
dgdd W d    n1 sbw   Y  t	j
t|d	 |jddd W d    n1 sw   Y  t	j
t|d	 |jddd W d    d S 1 sw   Y  d S )Nr   )r   r   jimjoerm   r   r   zunexpected keywordr0   r   T)r   in_placer   )r   )r   r)   rD   rE   rF   rx   Categoricalnanr   r6   r7   	TypeErrorr   reindexr   )r   r   catsr   r   r   r   test_unexpected_keyword   s&   
"z&TestDataFrame2.test_unexpected_keywordN)r   r   r   r6   r   r   r   r   r   r   r   r   r      s    
r   )r   r   operatorr   numpyr)   r6   pandasrx   r   r   r   r   pandas._testing_testingr2   r   r   r   r   r   r   <module>   s     