3
Ud                 @   sn   d dl Zd dlZd dlZd dlmZmZ d dljZ	dd Z
dd Zdd Zd	d
 Zdd Zdd Zdd ZdS )    N)Index
MultiIndexc             C   s   | j t| d d \}}t|ts(t|jddgks:tdd |jD ddgksVt| j t| \}}t|tsvt|d kst|jddgkstdd |jD ddgkstd S )N   firstsecondc             S   s   g | ]
}|j qS  )name).0levelr   r   [/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/indexes/multi/test_reindex.py
<listcomp>   s    z test_reindex.<locals>.<listcomp>c             S   s   g | ]
}|j qS r   )r   )r	   r
   r   r   r   r      s    )reindexlist
isinstancer   AssertionErrornameslevels)idxresultindexerr   r   r   test_reindex	   s    r   c       
      C   s  t dg}| j|dd\}}|j| dd\}}| j|ddd}| j|ddd}|j|s\ttjddd	g}tj||d
d |j|sttjddddddg}	tj||	d
d t	j
tdd | j| ddd W d Q R X t	j
tdd |j|ddd W d Q R X d S )NZoner   )r
   right)r
   howleftr      r   F)Zcheck_dtype   zFill method not supported)matchpad)methodr
   Zbfillr   r   r   )r   r   joinequalsr   nparraytmassert_numpy_array_equalpytestraises	TypeError)
r   indextargetr   Ztarget2Zindexer2Z	exp_indexZ
exp_index2Zexp_indexerZexp_indexer2r   r   r   test_reindex_level   s    
r+   c             C   s  | j  } | j  }d d g | _|_tjjddgddgg}| jg d jd d gksTt| jtjg d jd d gksvt| j|j	 d jd d gkst| j|j
d jd d gkst| j|j	 d jd d gkst| j|j
d jd d gkstddg| _| jg d jddgkst| jtjg d jddgks>t| j|j	 d jddgks`t| j|j
d jddgkst| j|j	 d jddgkst| j|j
d jddgkstd S )Nr   r      r   r   foobar)copyr   pdr   from_productr   r   r"   r#   tolistvalues)r   r*   Zother_dtyper   r   r   ;test_reindex_preserves_names_when_target_is_list_or_ndarray.   s"    "  
$" "r4   c              C   sd   t jjddgddggddgd} | jg ddd jddgks@t| jg ddd jddgks`td S )	Nr   r   abr-   r.   )r   )r
   )r0   r   r1   r   r   r   )r   r   r   r   =test_reindex_lvl_preserves_names_when_target_is_list_or_arrayG   s      r7   c              C   sh   t jjddgddgg} | jg ddd jd jjtjks>t	| jg ddd jd jjtj
ksdt	d S )Nr   r   r5   r6   )r
   )r0   r   r1   r   r   dtypetyper"   Zint64r   Zobject_)r   r   r   r   @test_reindex_lvl_preserves_type_if_target_is_empty_list_or_arrayN   s    &r:   c             C   sX   | } t j| jt jd}| j| }tj|| tjt	dd | j| dd W d Q R X d S )N)r8   zInvalid fill method)r   invalid)r   )
r"   arangesizeZintpZget_indexerr$   r%   r&   r'   
ValueError)r   expectedactualr   r   r   test_reindex_baseU   s    
rA   c           	   C   sf   t jjdd	d
dg} t jtjd| d}t jjdddg}d}tjt|d |j	| W d Q R X d S )Nr   r   r   r   )r)   z'cannot handle a non-unique multi-index!)r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )
r0   r   from_tuplesZSeriesr"   r<   r&   r'   r>   r   )r   r5   Znew_idxmsgr   r   r   test_reindex_non_unique`   s    rD   )Znumpyr"   r&   Zpandasr0   r   r   Zpandas._testingZ_testingr$   r   r+   r4   r7   r:   rA   rD   r   r   r   r   <module>   s   
