U
    sVcB                     @   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ddddgdd Zdd Zdd  Zd!S )"
TestSeriesfuncZrename_axis_set_axis_namec                 C   s   t dddgtjdd dD ddgd	d
}t|ddg|}|jjd ksLt|jjddgks`t|jjd kspt|jjstddgd S )N         c                 S   s   g | ]}d |fqS )A ).0xr   r   D/tmp/pip-unpacked-wheel-xj8nt62q/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   nameAssertionErrorr   )selfr   serresultr   r   r   test_set_axis_name_mi   s     z TestSeries.test_set_axis_name_mic              	   C   s:   t dg}d}tjt|d |jddd W 5 Q R X 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 dddg}| }t|| d S NTF)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tt dg}| r,td S r(   )r   boolr   )r   r   r   r   r   test_nonzero_single_element*   s    

z&TestSeries.test_nonzero_single_elementdataTFc              	   C   s4   t |g}d}tjt|d t| W 5 Q R X 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_13   s    
z.TestSeries.test_nonzero_single_element_raise_1c              	   C   s4   t |g}d}tjt|d |  W 5 Q R X d S )N6bool cannot act on a non-boolean single element Seriesr!   r0   r1   r   r   r   #test_nonzero_single_element_raise_2<   s    
z.TestSeries.test_nonzero_single_element_raise_2)TT)FFc              	   C   sV   t |g}d}tjt|d t| W 5 Q R X tjt|d |  W 5 Q R X d S r.   r0   r1   r   r   r   #test_nonzero_multiple_element_raiseD   s    
z.TestSeries.test_nonzero_multiple_element_raiser    r   r   g        c              	   C   sZ   t |g}d}tjt|d t| W 5 Q R X d}tjt|d |  W 5 Q R X d S )Nr/   r!   r3   r0   r1   r   r   r   !test_nonbool_single_element_raiseO   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>i       zETestSeries.test_metadata_propagation_indiv_resample.<locals>.<lambda>)r   nprandomZrandr   ZresampleZ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}| \}|t dddg |t d	| d|_d|_t	
||g}|jd
kst|jd kstW 5 Q R X d S )N   r9   barc              	      s`   | j D ]T |dkrD dkrDd fdd|jD }t|  | qt|  t| d  q| S )Nconcatfilename+c                    s"   g | ]}t | d rt | qS r:   )getattr)r   objr   r   r   r   {   s   zPTestSeries.test_metadata_propagation_indiv.<locals>.finalize.<locals>.<listcomp>)	_metadatajoinobjsobject__setattr__rJ   )r   othermethodkwargsvaluer   rL   r   finalizew   s    

z<TestSeries.test_metadata_propagation_indiv.<locals>.finalizerM   r   rH   Z__finalize__zfoo+bar)N)r   ranger   Tr)   r@   contextsetattrrH   pdrG   r   )r   Zmonkeypatchr   Zser2r   rV   mr   r   r   test_metadata_propagation_indivl   s    

z*TestSeries.test_metadata_propagation_indivN)__name__
__module____qualname__r#   markZparametrizer   r'   r*   r,   r>   nanr[   ZNaTr2   r4   r5   r6   rD   r]   r   r   r   r   r      s   
	




r   )operatorr   Znumpyr>   r#   Zpandasr[   r   r   r   Zpandas._testingZ_testingr)   r   r   r   r   r   <module>   s   