o
    Û­jÇ  ã                   @   s¤  d dl Zd dlZd dlm  mZ d dlZd dlm	Z	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 g d
¢¡fdge g d
¢¡fdge g d
¢¡fd dge g d
¢g d¢g¡jfd dge g d
¢g d¢g¡jfg d¢e g d
¢g d¢g d¢g¡jfddge g d
¢g d¢g¡jfddge g d
¢g d¢g¡jfddge g d
¢g d¢g¡jfg	¡dd„ ƒƒƒZdd„ ZdS )é    N)Ú	DataFrameÚSeries)Ú	get_arrayc                 C   s  t g d¢g d¢dœƒ}g d¢|d< |d d … }tdd„ |jjD ƒƒs$J ‚| ¡  |jjd j ¡ s3J ‚t t	|d	ƒt	|d	ƒ¡sAJ ‚|jjd
 j ¡ rLJ ‚|jjd j ¡ rWJ ‚|jjd
 j ¡ sbJ ‚|jjd j ¡ rmJ ‚| rˆd|j
d< |jjd
 j ¡ rJ ‚|jd dksŠJ ‚d S d S )N©é   é   é   ©çš™™™™™¹?gš™™™™™É?g333333Ó?©ÚaÚb©é   é   é   Úcc                 s   s   � | ]}|j  ¡ V  qd S )N)ÚrefsÚhas_reference)Ú.0Úblk© r   úb/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/copy_view/test_internals.pyÚ	<genexpr>   s   € z#test_consolidate.<locals>.<genexpr>r   r   r   r   g        )r   r   )r   r   r
   )r   ÚallÚ_mgrÚblocksÚ_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¡�p tg d¢g d¢dœƒ} | d d … }d|jd< | jd dks&J ‚dt jj_tg d¢g d¢dœƒ} | d d … }d|jd< | jd d	ksJJ ‚dt jj_tg d¢g d¢dœƒ} | d d … }d|jd< | jd dksnJ ‚W d   ƒ d S 1 syw   Y  d S )
Nzmode.copy_on_writeFr   r	   r   r   )r   r   Tr   )ÚpdÚoption_contextr   r    ÚoptionsÚmodeÚcopy_on_write)r#   r$   r   r   r   Útest_switch_options3   s    




"ír+   Údtypez	locs, arr)éÿÿÿÿéþÿÿÿéýÿÿÿr   r   )éüÿÿÿéûÿÿÿiúÿÿÿr   )r   r   r   r   c           	   
   C   sÞ   t g d¢g d¢g d¢g d¢g d¢tg d¢td�dœƒ}| |¡}| ¡ }|jd d	�}|jj||d
d� t ||¡ | rYt	|j
ƒD ]\}}||vrVt t||ƒt||ƒ¡sVJ ‚q@d S |j
D ]}t t||ƒt||ƒ¡rlJ ‚q\d S )Nr   r   )é   é   é	   )é
   é   é   )é   é   é   )r   r   r   )r,   )r   r   r   ÚdÚeÚf©ÚdeepT)Úinplace)r   r   ÚobjectÚastypeÚcopyr   ÚisetÚtmÚassert_frame_equalÚ	enumerateÚcolumnsr   r   r   )	r"   ÚlocsÚarrr,   r#   Údf_origÚdf2ÚiÚcolr   r   r   Útest_iset_splits_blocks_inplaceQ   s.   úÿ

€þ
ÿrO   c                     s.  t dg d¢iƒ‰ tdƒD ]} ˆ jdd� qtˆ jjd jjƒdks#J ‚t dg d¢iƒ‰ ‡ fdd	„td
ƒD ƒ}tdƒD ]} ˆ jdd� q:tˆ jjd jjƒdksQJ ‚ˆ jjd jjdks]J ‚tdƒD ]} ˆ jdd� qaˆ jjd jjdksvJ ‚|d d… }tdƒD ]} ˆ jdd� q€ˆ jjd jjdks•J ‚d S )Nr   r   iê  Fr>   r   ië  c                    s   g | ]}ˆ j d d�‘qS )Fr>   )rC   )r   rM   ©r#   r   r   Ú
<listcomp>ˆ   s    z,test_exponential_backoff.<locals>.<listcomp>iþ  é   i  iè  iô  i,  )	r   ÚrangerC   Úlenr   r   r   Úreferenced_blocksÚclear_counter)rM   Údfsr   rP   r   Útest_exponential_backoff   s"   rX   )Únumpyr   ÚpytestÚpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr&   r   r   Úpandas._testingÚ_testingrE   Úpandas.tests.copy_view.utilr   Úskip_array_manager_invalid_testr%   ÚmarkÚ
single_cpur+   ÚparametrizeÚintpÚint8ÚarrayÚTrO   rX   r   r   r   r   Ú<module>   s:    
#$÷þ