U
    >vfa                     @   s  d dl Zd dlZd dlm  mZ d dlZd dlm	Z	 d dl
mZ d dlmZ ejdd Zejjejdd Zejejdejejgejd	d ged
ddgfdged
ddgfdged
ddgfd dged
ddgdddggjfd dged
ddgdddggjfd ddged
ddgdddgdddggjfddged
ddgdddggjfddged
ddgdddggjfddged
ddgdddggjfg	dd ZdS )    N)	DataFrame)	get_arrayc                 C   s   t dddgdddgd}dd	d
g|d< |d d  }tdd |jjD sNt|  |jjd j sltt	t
|dt
|dst|jjd j rt|jjd j rt|jjd j st|jjd j rt| rd|jd< |jjd j rt|jd dkstd S )N         皙?皙?333333?ab         cc                 s   s   | ]}|j  V  qd S )N)refshas_reference).0Zblk r   I/tmp/pip-unpacked-wheel-vdrwu74i/pandas/tests/copy_view/test_internals.py	<genexpr>   s     z#test_consolidate.<locals>.<genexpr>r   r   g        )r   r   )r   r   )r   all_mgrblocksAssertionErrorZ_consolidate_inplacer   r   npshares_memoryr   ilocloc)using_copy_on_writedfsubsetr   r   r   test_consolidate   s    
r"   c               	   C   s   t dd tdddgdddgd	} | d d  }d
|jd< | jd d
ksPtdt jj_tdddgdddgd	} | d d  }d
|jd< | jd dkstdt jj_tdddgdddgd	} | d d  }d
|jd< | jd d
kstW 5 Q R X d S )Nzmode.copy_on_writeFr   r   r   r   r   r	   r
   r   )r   r   T)pdZoption_contextr   r   r   optionsmodeZcopy_on_write)r    r!   r   r   r   test_switch_options0   s    




r&   dtypez	locs, arrr   r   ir   r   c           	   	   C   s   t 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}||}| }|jd d}|jj||dd t|| | rt|jD ],\}}||krt	
t||t||stqn(|jD ] }t	
t||t||rtqd S )Nr   r   r   r   r   r         	   
                  r   r   r   )r   r   r   def)deepT)Zinplace)r   Zastypecopyr   ZisettmZassert_frame_equal	enumeratecolumnsr   r   r   r   )	r   ZlocsZarrr'   r    Zdf_origZdf2icolr   r   r   test_iset_splits_blocks_inplaceN   s(    

 
r@   )Znumpyr   ZpytestZpandas.util._test_decoratorsutilZ_test_decoratorstdZpandasr#   r   Zpandas._testingZ_testingr;   Zpandas.tests.copy_view.utilr   Zskip_array_manager_invalid_testr"   markZ
single_cpur&   ZparametrizeZintpZint8arrayTr@   r   r   r   r   <module>   s6   
#"","""