U
    +¿ifß	  ã                   @   sP   d 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dS )	zQ
Testing interaction between the different managers (BlockManager, ArrayManager)
é    ©Úarray_equivalentN)ÚArrayManagerÚBlockManagerÚSingleArrayManagerÚSingleBlockManagerc               	   C   sh  t  dd¡* t  dddgdddgd	d
dgdœ¡} W 5 Q R X t| jtƒsLt‚t  dd¡* t  dddgdddgd	d
dgdœ¡}W 5 Q R X t|jtƒs˜t‚t 	| |¡ |  
d¡}t|jtƒs¾t‚|  
d¡}t|jtƒsØt‚t 	|| ¡ tdd„ t|jj|jjƒD ƒƒs
t‚| 
d¡}t|jtƒs&t‚| 
d¡}t|jtƒsBt‚t 	||¡ t|jjƒdksdt‚d S )Númode.data_managerÚblocké   é   é   gš™™™™™¹?gš™™™™™É?g333333Ó?é   é   é   )ÚaÚbÚcÚarrayc                 s   s   | ]\}}t ||ƒV  qd S )Nr   )Ú.0ÚleftÚright© r   úW/home/mars/bis/venv/lib/python3.8/site-packages/pandas/tests/internals/test_managers.pyÚ	<genexpr>#   s   ÿz*test_dataframe_creation.<locals>.<genexpr>)ÚpdÚoption_contextZ	DataFrameÚ
isinstanceÚ_mgrr   ÚAssertionErrorr   ÚtmZassert_frame_equalÚ_as_managerÚallÚzipZarraysÚlenÚblocks)Zdf_blockZdf_arrayÚresultr   r   r   Útest_dataframe_creation   s*    ..

þ

r&   c               	   C   s  t  dd¡" t jdddgdddd	gd
} W 5 Q R X t| jtƒsDt‚t  dd¡" t jdddgdddd	gd
}W 5 Q R X t|jtƒsˆt‚t 	| |¡ |  
d¡}t|jtƒs®t‚|  
d¡}t|jtƒsÈt‚t 	|| ¡ | 
d¡}t|jtƒsît‚| 
d¡}t|jtƒs
t‚t 	||¡ d S )Nr   r	   r
   r   r   ÚAr   r   r   )ÚnameÚindexr   )r   r   ZSeriesr   r   r   r   r   r   Zassert_series_equalr    )Zs_blockZs_arrayr%   r   r   r   Útest_series_creation0   s"    &&



r*   )Ú__doc__Zpandas.core.dtypes.missingr   Zpandasr   Zpandas._testingZ_testingr   Zpandas.core.internalsr   r   r   r   r&   r*   r   r   r   r   Ú<module>   s    