o
    թZh                     @   s   d Z ddlZddlZddlZddlZddlmZ ddlZddl	m
Z ddlmZmZmZmZ dd Zdd Zejjejd	d
dgdd ZdS )zQ
Testing interaction between the different managers (BlockManager, ArrayManager)
    Narray_equivalent)ArrayManagerBlockManagerSingleArrayManagerSingleBlockManagerc               	   C   s  d} t jt| d- tdd tg dg dg dd}W d    n1 s*w   Y  W d    n1 s9w   Y  t|jtsFJ t jt| d- tdd	 tg dg dg dd}W d    n1 snw   Y  W d    n1 s}w   Y  t|jt	sJ t 
|| |d}t|jtsJ |d	}t|jt	sJ t 
|| td
d t|jj|jjD sJ |d	}t|jt	sJ |d}t|jtsJ t 
|| t|jjdksJ d S )N!data_manager option is deprecatedmatchmode.data_managerblock         )g?g?g333333?)         abcarrayc                 s   s    | ]
\}}t ||V  qd S )Nr   ).0leftright r   [/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/internals/test_managers.py	<genexpr>/   s
    
z*test_dataframe_creation.<locals>.<genexpr>r   )tmassert_produces_warningFutureWarningpdoption_contextZ	DataFrame
isinstance_mgrr   r   Zassert_frame_equal_as_managerallzipZarrayslenblocks)msgZdf_blockZdf_arrayresultr   r   r   test_dataframe_creation   sD   



r-   c               	   C   s  d} t jt| d* tdd tjg ddg dd}W d    n1 s'w   Y  W d    n1 s6w   Y  t|jtsCJ t jt| d* tdd	 tjg ddg dd}W d    n1 shw   Y  W d    n1 sww   Y  t|jt	sJ t 
|| |d}t|jtsJ |d	}t|jt	sJ t 
|| |d	}t|jt	sJ |d}t|jtsJ t 
|| d S )
Nr   r	   r   r   r   Ar   )nameindexr   )r   r    r!   r"   r#   ZSeriesr$   r%   r   r   Zassert_series_equalr&   )r+   Zs_blockZs_arrayr,   r   r   r   test_series_creation<   s4   



r1   managerr   r   c                 C   sP   t j }| |d< tjtjddgd|dd}d}|jd}||v s&J |d S )NZPANDAS_DATA_MANAGERz-czimport pandasT)capture_outputenvcheckz:FutureWarning: The env variable PANDAS_DATA_MANAGER is setzutf-8)	osenvironcopy
subprocessrunsys
executablestderrdecode)r2   Ztest_envresponser+   Z
stderr_msgr   r   r   test_array_manager_depr_env_varY   s   

r@   )__doc__r6   r9   r;   ZpytestZpandas.core.dtypes.missingr   Zpandasr"   Zpandas._testingZ_testingr   Zpandas.core.internalsr   r   r   r   r-   r1   markZ
single_cpuZparametrizer@   r   r   r   r   <module>   s    &