U
    sVc	                     @   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stt	| | | 
d}t|jtst| 
d}t|jtst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   H/tmp/pip-unpacked-wheel-xj8nt62q/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stt	| | | 
d}t|jtst| 
d}t|jtstt	||  |
d}t|jtst|
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    