o
    i                     @   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   Z/var/www/edux/Edux_v2/venv/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   s   t dgg}| sJ t dgg}| rJ t ddgg}d}tjt|d |  W d    n1 s7w   Y  tjt|d t| W d    d S 1 sSw   Y  d S )NTFz+The truth value of a DataFrame is ambiguousmatch)r   boolpytestraises
ValueError)r   r   msgr   r   r   test_nonzero_single_element0   s   

"z)TestDataFrame.test_nonzero_single_elementc                 C   sz   t g dg dtjdtjdd}d}tjt|d |d }W d    n1 s0w   Y  t	|| d S )N)r   barr   r8   r   r8   r   r   )oner9   twothreer:   r:   r9   r;      )r   Br%   Dz!The default value of numeric_onlyr0   r   )
r   r)   randomrandntmassert_produces_warningFutureWarninggroupbysumassert_metadata_equivalent)r   r   r6   r   r   r   r   'test_metadata_propagation_indiv_groupby@   s   

z5TestDataFrame.test_metadata_propagation_indiv_groupbyc                 C   s:   t tjddtddddd}|d}t|| d S )Ni  r   20130101s)periodsfreq)r   1T)r   r)   r?   r@   r   resamplerA   rF   )r   r   r   r   r   r   (test_metadata_propagation_indiv_resampleO   s   
z6TestDataFrame.test_metadata_propagation_indiv_resamplec                 C   s  ddd}|  u}|tddg |td| tjd ttjddd	d
dgd}ttj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	t
dd}d|_t||g}|jdksvJ 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"   e   s   " zSTestDataFrame.test_metadata_propagation_indiv.<locals>.finalize.<locals>.<listcomp>)	_metadataleftrightrU   object__setattr__joinobjs)r   othermethodkwargsrY   rZ   valuer   rW   r   finalize\   s   
z?TestDataFrame.test_metadata_propagation_indiv.<locals>.finalizerX   filename__finalize__
   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+foorT   )contextsetattrr   r)   r?   seedrandintrX   rd   rO   r,   pdrR   )r   monkeypatchrc   mdf1df2r   r   r   r   test_metadata_propagation_indivX   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   rW   )r   r}   rA   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   rA   assert_frame_equal)r   empty_frameempty_frame_copyr   r   r   test_deepcopy_empty   s   z!TestDataFrame.test_deepcopy_emptyN)__name__
__module____qualname__r3   markparametrizer   r/   r7   rG   rN   rz   r   r   r   r   r   r   r      s    

	+r   c                       s>   e Zd Zejdddg ddg fddZdd	 Z  ZS )
TestDataFrame2rb   r   Truer{   g      @c                    s  t g dg dd}d}tjt|d tt |jdddd|d	 W d    n1 s-w   Y  tjt|d tt |jd
d|d W d    n1 sOw   Y  tjt|d tt |jd|d W d    n1 spw   Y  tjt|d tt |jdd|d W d    n1 sw   Y  tjt|d tt |j	|d W d    n1 sw   Y  tjt|d tt |j
|jdk|d W d    n1 sw   Y  tjt|d tt |j|jdk|d W d    d S 1 sw   Y  d S )Nr{   )r   r~   r|   )rg   rh   z8For argument "inplace" expected type bool, received typer0   r!   r}   r   )mapperr   inplacerg   )r   r   r   )rb   r      )
to_replacerb   r   r   r   )condr   )r   r3   r4   r5   superr   dropfillnareplaceinterpolate_whererg   mask)r   rb   r   r6   	__class__r   r   test_validate_bool_args   s2   
"z&TestDataFrame2.test_validate_bool_argsc                 C   sH  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 s@w   Y  tj	t
|d	 |jd
dgdd W d    n1 s`w   Y  tj	t
|d	 |jddd W d    n1 s~w   Y  tj	t
|d	 |jddd W d    d S 1 sw   Y  d S )Nr~   r   jimjoeri   r   r   zunexpected keywordr0   r   T)r   in_placer   )r   )r   r)   r?   r@   ru   Categoricalnancopyr3   r4   	TypeErrorr   reindexr   )r   r   catsr6   r   r   r   test_unexpected_keyword   s"   
"z&TestDataFrame2.test_unexpected_keyword)	r   r   r   r3   r   r   r   r   __classcell__r   r   r   r   r      s    r   )r   r   operatorr   numpyr)   r3   pandasru   r   r   r   r   pandas._testing_testingrA   r   r   r   r   r   r   <module>   s     	