U
    f/eZ                     @   sd   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 d dlmZ G dd deZdS )    )methodcallerN)
MultiIndexSeries
date_range)Genericc                   @   s   e Zd ZeZd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 )$
TestSeriesc                 C   s   t ||S N)tmZassert_series_equal)selfxy r   D/tmp/pip-unpacked-wheel-tiezk1ph/pandas/tests/generic/test_series.py<lambda>       zTestSeries.<lambda>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 )Ar   ).0r   r   r   r   
<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   )r
   r   s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}| }| || d S NTF)r   Z_get_bool_data_compare)r
   or$   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+   r2   r
   r4   Zseriesr,   r   r   r   #test_nonzero_single_element_raise_17   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'   r7   r8   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 r5   r7   r8   r   r   r   #test_nonzero_multiple_element_raiseH   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 )Nr6   r'   r:   r7   r8   r   r   r   !test_nonbool_single_element_raiseS   s    
z,TestSeries.test_nonbool_single_element_raisec                 C   sx   t tjdtdddddd}|d }| || |d }| || |d	dd	 }| || d S )
Ni  Z20130101r#   )Zperiodsfreqfoo)r   r!   Z1Tc                 S   s   |   S r   )sum)r   r   r   r   r   m   r   zETestSeries.test_metadata_propagation_indiv_resample.<locals>.<lambda>)
r   nprandomZrandr   ZresampleZmeancheck_metadata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 j}t j}ddgt _d|_d|_d	dd}|t _t	||g}|jdkst
|jd kst
|t _|t _d S )
N   r?   barr!   filenamec              	      s`   | j D ]T |dkrD dkrDd fdd|jD }t|  | qt|  t| d  q| S )NconcatrJ   +c                 3   s$   | ]}t | d rt | V  qd S r   )getattr)r   r0   r!   r   r   	<genexpr>   s     zOTestSeries.test_metadata_propagation_indiv.<locals>.finalize.<locals>.<genexpr>)	_metadatajoinobjsobject__setattr__rM   )r
   othermethodkwargsvaluer   rN   r   finalize   s    
z<TestSeries.test_metadata_propagation_indiv.<locals>.finalizezfoo+bar)N)r   ranger!   TrC   rP   Z__finalize__rJ   pdrK   r"   )r
   r0   Zo2r$   rP   Z	_finalizerY   r   r   r   test_metadata_propagation_indivp   s$    

z*TestSeries.test_metadata_propagation_indivN)__name__
__module____qualname__r   Z_typZ_comparatorr)   markZparametrizer%   r-   r1   r3   rA   nanr\   ZNaTr9   r;   r<   r=   rG   r]   r   r   r   r   r      s"   
	




r   )operatorr   ZnumpyrA   r)   Zpandasr\   r   r   r   Zpandas._testingZ_testingr	   Z!pandas.tests.generic.test_genericr   r   r   r   r   r   <module>   s   