U
    ¾mœda  ã                   @   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ƒ¡sˆt‚|jjd j ¡ ržt‚|jjd j ¡ r´t‚|jjd j ¡ sÊt‚|jjd j ¡ ràt‚| �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   ú^/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/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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_options0   s    




r&   Údtypez	locs, arréÿÿÿÿéþÿÿÿéýÿÿÿr   r   éüÿÿÿéûÿÿÿiúÿÿÿr   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 ||¡ | r´t|jƒD ],\}}||kr„t	 
t||ƒt||ƒ¡s„t‚q„n(|jD ] }t	 
t||ƒt||ƒ¡rºt‚qºd 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@   )Ú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   
#"","""÷þ