3
Ud                 @   s   d dl Zd dlZd dlZd dlmZmZmZmZm	Z	 d dl
jZG dd dZejjdddgefejdd	d
dejd
dfgdd ZdS )    N)	DataFrameIndex
MultiIndex
RangeIndexSeriesc               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestResetIndexc          
   C   sF  t j d d }|j }ddg|j_d|_|j }d|ks>t|jdd}d|ksVt|jdd}|}|jddd	}|d kstt j|| t	d
gdddgddggddddddgddddddgddddddggd}t
tjjd|d}|jdd}t|jdkst|jddgdd}t j|jt|jd t|t
sBtd S )N   hashcategoryvalueZvalue2)nameT)drop)r   ZinplacebarZoneZtwoZthreer         )levelscodes   )index)level)r   r   )tmZmakeDataFramestackr   namesr   reset_indexAssertionErrorassert_series_equalr   r   nprandomZrandnlencolumnsZassert_index_equalr   Zget_level_values
isinstance)selfdfZserss2Zreturn_valuer   rs r&   `/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/series/methods/test_reset_index.pytest_reset_index
   s,    2zTestResetIndex.test_reset_indexc             C   sN   t dddgttdddd}|j jjd ks2t|jddjjd ksJtd S )	Nr   r      x)r   )r   T)r   )r   r   ranger   r   r   r   )r!   r#   r&   r&   r'   test_reset_index_name*   s    z$TestResetIndex.test_reset_index_namec             C   s  t dddgdddggddd	gd
}xddgddgfD ]r}|jddgd	 }|j|d d}tj||jd |j|d d d}tj||jd |j|d}tj|| |jddgj|dd}tj||d	g  tjtdd |jddgd W d Q R X |jdd }|j|d d}tj||ddg  |j|d d d}tj||ddg  |j|d dd}tj||d  tjt	dd |jdddgd W d Q R X q6W t
tdjg dd}t
td}tj|| d S )Nr   r   r)      r   r   ABC)r   r   )r   T)r   r   zLevel E )matchEzToo many levels)r   )r   Z	set_indexr   r   assert_frame_equalpytestraisesKeyErrorr   
IndexErrorr   r+   )r!   r"   r   r#   resultexpectedr&   r&   r'   test_reset_index_level/   s2    " z%TestResetIndex.test_reset_index_levelc             C   s^   t tdddd}|j }t|jts*ttddgddggddgtddd	}tj	|| d S )
Nr   r.   int64)r   dtyper   r   r   )stop)r   r   )
r   r+   r   r    r   r   r   r   r   r3   )r!   r#   Zseries_resultZseries_expectedr&   r&   r'   test_reset_index_rangeY   s    "z%TestResetIndex.test_reset_index_rangec             C   s   t td}tjtdd |jddd W d Q R X tjtdd |jd W d Q R X t tdtjddggd d	}tjtd
d |jddd W d Q R X d S )Nr-   zdoes not match index name)r1   ZwrongT)r   r   r   )r   z	not found)r   r+   r4   r5   r6   r   r   from_product)r!   r#   r&   r&   r'   test_reset_index_drop_errorsc   s     z+TestResetIndex.test_reset_index_drop_errorsN)__name__
__module____qualname__r(   r,   r:   r>   r@   r&   r&   r&   r'   r   	   s
    *
r   zarray, dtypeabz	12-1-2000r   zQ-DEC)Zperiodsfreq)rF   c             C   sX   t jddgddg| g}tt|dd d j j}ttjtj|td}t	j
|| d S )Nr   r   g      ?g      ?)r<   r   )Zlevel_0Zlevel_1Zlevel_2r   )r   r?   r   objectr   Zdtypesr   r;   Zfloat64r   r   )arrayr<   idxr8   r9   r&   r&   r'   7test_reset_index_dtypes_on_empty_series_with_multiindexs   s
    rJ   )Znumpyr   r4   Zpandaspdr   r   r   r   r   Zpandas._testingZ_testingr   r   markZparametrizerG   Zperiod_rangeZPeriodDtyperJ   r&   r&   r&   r'   <module>   s   
j
