U
    sVÞcT  ã                   @   sx   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 ejdd„ ƒZejdd„ ƒZejjej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 … }|jjd k	rVtdd„ |jjD ƒƒsZt‚| ¡  |jjd d k	svt‚t t|dƒt|dƒ¡s’t‚|jjd d ks¦t‚|j 	d¡s¶t‚|j 	d¡rÆt‚|j 	d¡sÖt‚| r
d|j
d< |j 	d¡söt‚|jd dks
t‚d S )Né   é   é   çš™™™™™¹?çš™™™™™É?ç333333Ó?©ÚaÚbé   é   é   Úcc                 s   s   | ]}|d k	V  qd S )N© )Ú.0Úrefr   r   úI/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/copy_view/test_internals.pyÚ	<genexpr>   s    z#test_consolidate.<locals>.<genexpr>r   r   g        )r   r   )r   r   )r   Ú_mgrÚrefsÚallÚAssertionErrorZ_consolidate_inplaceÚnpZshares_memoryr   Z_has_no_referenceÚilocÚloc©Zusing_copy_on_writeÚdfÚsubsetr   r   r   Útest_consolidate   s"    ÿ
r    c                 C   sx   | st  d¡ tdddgdddgdœƒ}|d d … }|jjd k	sDt‚d	|d
< |jjd k	s\t‚d	|d< |jjd kstt‚d S )Nz+test only relevant when using copy-on-writer   r   r   r   r   r	   r
   r   r   r   )ÚpytestÚskipr   r   Úparentr   r   r   r   r   Útest_clear_parent2   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sœt‚dt jj_tdddgdddgd	œƒ} | d d … }d
|jd< | jd d
ksèt‚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_optionsD   s    




r(   )Znumpyr   r!   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr%   r   Zpandas.tests.copy_view.utilr   Zskip_array_manager_invalid_testr    r$   ÚmarkZ
single_cpur(   r   r   r   r   Ú<module>   s   
&
