o
    dA                     @   sV   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	 d dl
mZ G dd dZdS )    )methodcallerN)
MultiIndexSeries
date_rangec                   @   s   e Zd Zejdddgdd Zdd Zdd	 Zd
d Z	ejde
jejddgdd Zejde
jejgdd Zejdddgdd Zejdg ddd Zdd Zdd ZdS )
TestSeriesfuncZrename_axis_set_axis_namec                 C   s   t g dtjdd dD ddgdd}t|d	d
g|}|jjd u s%J |jjddgks/J |jjd u s7J |jjsAJ d	d
gd S )N)         c                 S   s   g | ]}d |fqS )A ).0xr   r   T/app/.heroku/python/lib/python3.10/site-packages/pandas/tests/generic/test_series.py
<listcomp>   s    z4TestSeries.test_set_axis_name_mi.<locals>.<listcomp>)aBcl1l2)names)indexZL1ZL2)r   r   from_tuplesr   r   namer   )selfr   serresultr   r   r   test_set_axis_name_mi   s   z TestSeries.test_set_axis_name_mic                 C   sP   t dg}d}tjt|d |jddd W d    d S 1 s!w   Y  d S )N   z&No axis named 1 for object type Seriesmatchr   )r   Zaxis)r   pytestraises
ValueErrorr   )r   r   msgr   r   r   test_set_axis_name_raises   s
   
"z$TestSeries.test_set_axis_name_raisesc                 C   s$   t g d}| }t|| d S )N)TFT)r   Z_get_bool_datatmZassert_series_equal)r   r   r   r   r   r   !test_get_bool_data_preserve_dtype%   s   z,TestSeries.test_get_bool_data_preserve_dtypec                 C   s0   t dg}| sJ t dg}| rJ d S )NTF)r   bool)r   r   r   r   r   test_nonzero_single_element*   s   

z&TestSeries.test_nonzero_single_elementdataTFc                 C   sJ   t |g}d}tjt|d t| W d    d S 1 sw   Y  d S N(The truth value of a Series is ambiguousr    r   r"   r#   r$   r)   r   r+   Zseriesr%   r   r   r   #test_nonzero_single_element_raise_12   s
   

"z.TestSeries.test_nonzero_single_element_raise_1c                 C   sJ   t |g}d}tjt|d |  W d    d S 1 sw   Y  d S )N6bool cannot act on a non-boolean single element Seriesr    r.   r/   r   r   r   #test_nonzero_single_element_raise_2;   s
   

"z.TestSeries.test_nonzero_single_element_raise_2)TT)FFc                 C   s   t |g}d}tjt|d t| W d    n1 sw   Y  tjt|d |  W d    d S 1 s9w   Y  d S r,   r.   r/   r   r   r   #test_nonzero_multiple_element_raiseC   s   


"z.TestSeries.test_nonzero_multiple_element_raise)r   r   r   g        c                 C   s   t |g}d}tjt|d t| W d    n1 sw   Y  d}tjt|d |  W d    d S 1 s;w   Y  d S )Nr-   r    r1   r.   r/   r   r   r   !test_nonbool_single_element_raiseN   s   


"z,TestSeries.test_nonbool_single_element_raisec                 C   sx   t tjdtdddddd}|d }t|| |d	 }t|| |d
dd	 }t|| d S )
Ni  Z20130101s)Zperiodsfreqfoo)r   r   Z1Tc                 S   s   |   S N)sum)r   r   r   r   <lambda>h   s    zETestSeries.test_metadata_propagation_indiv_resample.<locals>.<lambda>)r   nprandomZrandr   Zresamplemeanr'   assert_metadata_equivalentminapply)r   tsr   r   r   r   (test_metadata_propagation_indiv_resample[   s   
z3TestSeries.test_metadata_propagation_indiv_resamplec                 C   s   t tdtd}d|_t tdtd}d|_|j}t|| ddd}| 4}|t dddg |t d	| d|_d|_t	
||g}|jd
ksOJ |jd u sVJ W d    d S 1 saw   Y  d S )N   r7   barc              	      s`   | j D ]* |dkr" dkr"d fdd|jD }t|  | qt|  t| d  q| S )Nconcatfilename+c                    s"   g | ]}t | d rt | qS r8   )getattr)r   objr   r   r   r   z   s    
zPTestSeries.test_metadata_propagation_indiv.<locals>.finalize.<locals>.<listcomp>)	_metadatajoinZobjsobject__setattr__rH   )r   othermethodkwargsvaluer   rJ   r   finalizev   s   

z<TestSeries.test_metadata_propagation_indiv.<locals>.finalizerK   r   rF   Z__finalize__zfoo+barr8   )r   ranger   Tr'   r>   contextsetattrrF   pdrE   )r   Zmonkeypatchr   Zser2r   rS   mr   r   r   test_metadata_propagation_indivk   s    

"z*TestSeries.test_metadata_propagation_indivN)__name__
__module____qualname__r"   markZparametrizer   r&   r(   r*   r;   nanrX   ZNaTr0   r2   r3   r4   rB   rZ   r   r   r   r   r      s     





r   )operatorr   numpyr;   r"   ZpandasrX   r   r   r   Zpandas._testingZ_testingr'   r   r   r   r   r   <module>   s    