B
    YŽ0dß	  ã               @   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 d 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 d 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 )Nzmode.data_managerÚblocké   é   é   gš™™™™™¹?gš™™™™™É?g333333Ó?é   é   é   )ÚaÚbÚcÚarrayc             s   s   | ]\}}t ||ƒV  qd S )N)r   )Ú.0ÚleftÚright© r   úV/var/www/html/venv/lib/python3.7/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 d Q R X t| jtƒsDt‚t  dd¡" t jdddgdddd	gd
}W d 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 )Nzmode.data_managerr   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    