U
    sVc                     @   s   d dl m Z  d dlZd dlZd dlZd dlZd dlmZmZ d dl	m
Z dd Zdd Zdd	 Zd
d Zdd Zdd Zdd ZdS )    )datetimeN)Index
MultiIndexc                 C   s&  |  dd}|| st|d dks*t|  dd}tt| jd dg dd}t|jd | |jddgksvttt| jd d	g dd}t|jd | |d dkstd
}t	j
t|d |  dd W 5 Q R X tjdddgdddggdddgd}|jddgdd |d jdd}d|jd< d|jd< d|jd< d|jd< d|jd < d!|jd"< d|jd#< d|jd$< d|jd%< d|jd&< d|jd'< d!|jd(< tjdddgdddgdd)dgdddgdddgdd)dgdd*dgddd!ggdddgd}|jddgdd tj||d+d, t||d  d S )-Nr   )barZtwo)abcthreer   first)namesecond   r   z/Item must have length equal to number of levelsmatch)Zfoo2abdZ1stZ2nd3rd)columnsT)Zinplace)deep   )r   xr   )r   r   r      )r   r   r      )r   r   r      )r   wr      )r   r   r   r   r   r   r   r   r!   r   r   F)Zcheck_dtype)insertZequal_levelsAssertionErrorr   listlevelstmassert_index_equalnamespytestraises
ValueErrorpdZ	DataFrameZ	set_indexcopylocZassert_frame_equalassert_series_equal)idxZ	new_indexZexp0Zexp1msglefttsright r5   K/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/indexes/multi/test_reshape.pytest_insert   sV    $












r7   c                  C   s   dd t dD dd t dD  ddg } ttdd	d
t| d d }d
|jd< d|jd< ttdddt| }t	|| d S )Nc                 S   s   g | ]}d |fqS )Ztest1r5   .0ir5   r5   r6   
<listcomp>N   s     z test_insert2.<locals>.<listcomp>r   c                 S   s   g | ]}d |fqS )Ztest2r5   r8   r5   r5   r6   r;   O   s     r    )test   )r<      r   
            )
ranger,   ZSeriesnpZlinspacer   from_tuplesr.   r&   r/   )r0   r2   r4   r5   r5   r6   test_insert2K   s    $

rG   c                 C   s   | d d  | dd  }|| s(t| d d | dd | dd  g}|d  |dd  }|| snt|  g }|| std S )Nr   r   r   )appendequalsr#   )r0   resultZfoosr5   r5   r6   test_append]   s    "
rK   c            	      C   s  t dddg} tjddddd}t d	d
dg}t| |g}t| ||g}| |}td}d|t	dddfd|t	dddfd|t	dddfg}t dddg| }t
|| || }t |dddg }t
|| ||}t| | ||g}t
|| ||}t
|| ||}t tjd|t	dddd	fd|t	dddd
fd|t	ddddfg| tdd }t
|| d S )Ng?g333333?g?z
2011-01-01Dr   z
Asia/Tokyo)freqZperiodstzABCi  r   r   )Zdtype)r   r,   Z
date_ranger   Zfrom_arraysrH   pytztimezoneZlocalizer   r&   r'   Z_simple_newrE   arrayobject)	Zidx1Zidx2Zidx3Zmidx_lv2Zmidx_lv3rJ   rN   Zexpected_tuplesexpectedr5   r5   r6   test_append_indexj   sF    





	rW   c                  C   s\   d} dddg}t ddg}tj||g|d}tj||| g|d}t|| | d S )Nr   r   r   Zfoor   )r(   )rE   rT   r   Zfrom_productrepeatr&   r'   )ZrepsZnumbersr(   mrV   r5   r5   r6   test_repeat   s    
rZ   c                 C   s2   | dd }| dd  |d| d s.td S )Nr   r   r   )rI   r"   r#   )r0   rJ   r5   r5   r6   test_insert_base   s    r[   c              	   C   s   | dd  }|  d}||s$t|j|jks4t| d d }|  d}||sXt|j|jkshtd}tjt|d |  t|  W 5 Q R X d S )Nr   r   r   z/index 6 is out of bounds for axis 0 with size 6r   )deleterI   r#   r	   r)   r*   
IndexErrorlen)r0   rV   rJ   r1   r5   r5   r6   test_delete_base   s    

r_   )r   ZnumpyrE   r)   rR   Zpandasr,   r   r   Zpandas._testingZ_testingr&   r7   rG   rK   rW   rZ   r[   r_   r5   r5   r5   r6   <module>   s   </
