3
U้dN  ใ               @   sD   d dl Zd dlZd dlZd dlmZ ddlmZ G dd deZ	dS )้    N)ฺExtensionBlock้   )ฺBaseExtensionTestsc               @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Ze	j
jdddgdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )ฺBaseConstructorsTestsc             C   sP   t |j||jd}| j|| |d d }t |j||jd}| j|| d S )N)ฺdtyper   )ฺtypeฺ_from_sequencer   ฺassert_extension_array_equal)ฺselfฺdataฺresultฉ r   ๚\/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/extension/base/constructors.pyฺtest_from_sequence_from_cls   s
    z1BaseConstructorsTests.test_from_sequence_from_clsc             C   s6   |d |d |d g}|j |}t|t|s2td S )Nr   r   ้   )r   ฺ
isinstancer   ฺAssertionError)r
   r   Zscalarsr   r   r   r   ฺtest_array_from_scalars   s    
z-BaseConstructorsTests.test_array_from_scalarsc             C   s   t j|}|j|jkstt|t|ks.tt|jjd tsDt|jjd j	|ksZtt j|}|j|jksttt|jjd tstd S )Nr   )
ฺpdฺSeriesr   r   ฺlenr   ฺ_mgrฺblocksr   ฺvalues)r
   r   r   Zresult2r   r   r   ฺtest_series_constructor   s    

z-BaseConstructorsTests.test_series_constructorc             C   st   t jdddg|d}t j|gd dddg|d}| j|| t jg |d}t jg t jg dd|d}| j|| d S )Nr   r   ้   )ฺindexr   ฺobject)r   )r   r   ฺassert_series_equalฺIndex)r
   r   ฺna_valuer   ฺexpectedr   r   r   ฺ*test_series_constructor_no_data_with_index$   s    z@BaseConstructorsTests.test_series_constructor_no_data_with_indexc             C   sB   t j|dddg|d}t j|gd dddg|d}| j|| d S )Nr   r   r   )r   r   )r   r   r   )r
   r   r    r   r!   r   r   r   ฺ,test_series_constructor_scalar_na_with_index.   s    zBBaseConstructorsTests.test_series_constructor_scalar_na_with_indexc             C   s|   |d }t j|dddg|d}t j|gd dddg|d}| j|| t j|dg|d}t j|gdg|d}| j|| d S )Nr   r   r   r   )r   r   Zfoo)r   r   r   )r
   r   r   Zscalarr   r!   r   r   r   ฺ)test_series_constructor_scalar_with_index3   s    z?BaseConstructorsTests.test_series_constructor_scalar_with_indexฺfrom_seriesTFc             C   s`   |rt j|}t jd|i}|jd |jks0t|jt|dfksFtt|j	j
d ts\td S )NฺAr   r   )r   r   ฺ	DataFrameฺdtypesr   r   ฺshaper   r   r   r   r   )r
   r   r%   r   r   r   r   ฺ$test_dataframe_constructor_from_dict=   s    
z:BaseConstructorsTests.test_dataframe_constructor_from_dictc             C   sT   t jt j|}|jd |jks$t|jt|dfks:tt|j	j
d tsPtd S )Nr   r   )r   r'   r   r(   r   r   r)   r   r   r   r   r   )r
   r   r   r   r   r   ฺtest_dataframe_from_seriesF   s    z0BaseConstructorsTests.test_dataframe_from_seriesc             C   sB   d}t jt|d& tj|d d dddddgd W d Q R X d S )	Nz-Length of passed values is 3, index implies 5)ฺmatchr   r   r   r   ้   )r   )ฺpytestZraisesฺ
ValueErrorr   r   )r
   r   ฺmsgr   r   r   ฺ)test_series_given_mismatched_index_raisesL   s    z?BaseConstructorsTests.test_series_given_mismatched_index_raisesc             C   sค   |j }tj|}tjt||d}| j|| tjt|t|d}| j|| tj|j|}tjt||d}| j|| tjt|t|d}| j|| d S )N)r   )	r   r   r   ฺlistr   ฺstrr'   Zastypeฺassert_frame_equal)r
   r   r   r!   r   r   r   r   ฺtest_from_dtypeQ   s    
z%BaseConstructorsTests.test_from_dtypec             C   s   t j|}| j|| d S )N)r   ฺarrayr	   )r
   r   r   r   r   r   ฺtest_pandas_arraye   s    
z'BaseConstructorsTests.test_pandas_arrayc             C   s:   t j|tjtd}t jjtj|td}| j|| d S )N)r   )	r   r6   ฺnpr   r   ZarraysZPandasArrayZasarrayZassert_equal)r
   r   r   r!   r   r   r   ฺtest_pandas_array_dtypej   s    z-BaseConstructorsTests.test_pandas_array_dtypec             C   sF   t jdg|d}t jdt jg |dit jg ddd}| j|| d S )Nฺa)ฺcolumnsr   )r   r   )r   )r   r'   r6   r   r4   )r
   r   r   r!   r   r   r   ฺtest_construct_empty_dataframep   s    "z4BaseConstructorsTests.test_construct_empty_dataframeN)ฺ__name__ฺ
__module__ฺ__qualname__r   r   r   r"   r#   r$   r.   ฺmarkZparametrizer*   r+   r1   r5   r7   r9   r<   r   r   r   r   r   
   s   

	r   )
Znumpyr8   r.   Zpandasr   Zpandas.core.internalsr   ฺbaser   r   r   r   r   r   ฺ<module>   s
   