U
    NZf                     @   s  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 ddgfddZdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zejjddd dd dd dd dd dd d d d!d d"d d#d g
d$d%d&d'd(d)d*d+d,d-g
d.d/d0 Zd1d2 ZdS )3    N)	DataFrameIndexSeries)	get_array      c                 C   s6   t | dd}|d d  }|jddd}|j}||fS )N      ?abr
   TZdrop)r   	set_indexindex)Z
index_datadfviewidx r   K/tmp/pip-unpacked-wheel-nbcvw55c/pandas/tests/copy_view/index/test_index.py
index_view   s
    r   c                 C   sj   t ddgdd}|jddd}|jjdd}d	|jd
< | rLt|j| nt|jtd	dgdd d S )Nr   r   r	   r
   Fr   Tdeepd   r   r   )name)r   r   r   copyiloctmassert_index_equalr   )using_copy_on_writer   expectedr   r   r   test_set_index_update_column   s    
r    c                 C   sV   t ddgdd}|d d  }|jddd}|jjdd}d	|jd
< t|j| d S )Nr   r   r   r	   r
   Tr   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   !test_set_index_drop_update_column!   s    
r!   c                 C   sn   t ddgdd}tddg}||}|jjdd}d	|jd
< | rTt|j| nt|jtd	dg d S Nr   r   r   r	   
      Tr   r   r   )	r   r   r   r   r   r   r   r   r   r   r   serr   r   r   r   test_set_index_series*   s    

r'   c                 C   sj   t ddgdd}tddg}||_|jjdd}d	|jd
< | rPt|j| nt|jtd	dg d S r"   )r   r   r   r   r   r   r   r   r%   r   r   r   test_assign_index_as_series6   s    
r(   c                 C   sv   t ddgdd}tddg}t|}||_d }|jjdd}d	|jd
< | r\t|j| nt|jtd	dg d S r"   )r   r   r   r   r   r   r   r   )r   r   r&   Z	rhs_indexr   r   r   r   test_assign_index_as_indexB   s    
r)   c                 C   sT   t ddg}t|}|jdd}d|jd< | r<t|| nt|tddg d S Nr   r   Tr   r   r   r   r   r   r   r   r   r   r&   r   r   r   r   r   test_index_from_seriesP   s    
r-   c                 C   sB   t ddg}t|dd}t|}d|jd< tt||s>td S )Nr   r   Tr   r   r   )r   r   r   r   npZshares_memoryAssertionError)r   r&   r   Zarrr   r   r   test_index_from_series_copy[   s
    
r1   c                 C   s\   t ddg}t|}t|}|jdd}d|jd< | rDt|| nt|tddg d S r*   r+   r,   r   r   r   test_index_from_indexc   s    
r2   funcc                 C   s   |  | jS N)_shallow_copyZ_valuesxr   r   r   <lambda>r       r8   c                 C   s   |   S r4   )r   r6   r   r   r   r8   s   r9   c                 C   s   |  ddgS Nr   r   )taker6   r   r   r   r8   t   r9   c                 C   s   |  ddgS )Nr   )repeatr6   r   r   r   r8   u   r9   c                 C   s   | t dd S Nr   r   )slicer6   r   r   r   r8   v   r9   c                 C   s   | ddg S r:   r   r6   r   r   r   r8   w   r9   c                 C   s   |  tddS r=   )_getitem_slicer>   r6   r   r   r   r8   x   r9   c                 C   s
   |  g S r4   )deleter6   r   r   r   r8   y   r9   c                 C   s
   |  dS )Nr   )renamer6   r   r   r   r8   z   r9   c                 C   s   | j dddS )NInt64Fr.   )astyper6   r   r   r   r8   {   r9   r5   r   r;   r<   Zgetitem_sliceZgetitem_listr?   r@   rA   rC   )idsc                 C   sX   t  \}}|jdd}d|jjjkr.|d}||}d|jd< | rTtj||dd d S )	NTr   rC   rB   r   r   FZcheck_names)	r   r   nodeZcallspecidrC   r   r   r   )r   r3   requestr   view_r   r   r   r   test_index_opso   s    


rJ   c                 C   sJ   t ddg\}}|jdd}|jdd}d|jd< | rFtj||dd	 d S )
Nr
   r   Tr   Fr.   Zaaaar   rE   )r   r   Zinfer_objectsr   r   r   )r   r   rI   r   r   r   r   test_infer_objects   s    
rK   )Znumpyr/   ZpytestZpandasr   r   r   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   r   r    r!   r'   r(   r)   r-   r1   r2   markZparametrizerJ   rK   r   r   r   r   <module>   sP   		
