3
Ud                 @   sR   d dl Zd dlmZ d dlmZ d dlZd dlj	Z
ddlmZ G dd deZdS )    N)is_extension_array_dtype)ExtensionDtype   )BaseExtensionTestsc               @   sp   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd ZdS )BaseInterfaceTestsz,Tests that the basic interface is satisfied.c             C   s   t |dkstd S )Nd   )lenAssertionError)selfdata r   Y/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/extension/base/interface.pytest_len   s    zBaseInterfaceTests.test_lenc             C   s   |j dkstd S )Nr   )sizer	   )r
   r   r   r   r   	test_size   s    zBaseInterfaceTests.test_sizec             C   s   |j dkstd S )Nr   )ndimr	   )r
   r   r   r   r   	test_ndim   s    zBaseInterfaceTests.test_ndimc             C   s   |j dkstd S )NT)Z_can_hold_nar	   )r
   r   r   r   r   test_can_hold_na_valid   s    z)BaseInterfaceTests.test_can_hold_na_validc             C   s(   t j|}|jdd}||jks$td S )NF)index)pdSeriesZmemory_usagenbytesr	   )r
   r   sresultr   r   r   test_memory_usage    s    
z$BaseInterfaceTests.test_memory_usagec             C   sN   t j|}|d |d kstt j|td}t jt|td}tj|| d S )Nr   )dtype)nparrayr	   objectlisttmZassert_numpy_array_equal)r
   r   r   expectedr   r   r   test_array_interface%   s
    
z'BaseInterfaceTests.test_array_interfacec             C   s@   t |stt |jstt tj|s,tt|jts<td S )N)r   r	   r   r   r   
isinstancer   )r
   r   r   r   r   test_is_extension_array_dtype-   s    z0BaseInterfaceTests.test_is_extension_array_dtypec             C   s$   t |d stt |d s td S )NvaluesZ_values)hasattrr	   )r
   r   r   r   r   test_no_values_attribute3   s    z+BaseInterfaceTests.test_no_values_attributec             C   s(   t j|}|jjd j|jjks$td S )Nr   )r   r   Z_mgrblocksZ
is_numericr   Z_is_numericr	   )r
   r   r   r   r   r   test_is_numeric_honored9   s    
z*BaseInterfaceTests.test_is_numeric_honoredc             C   sX   |j  }t|rT|jdst|j s*t|jd s:t|j  sHt|jjsTtd S )Nanyall)Zisnar   Z_reducer	   r*   r+   r   Z_is_boolean)r
   Zdata_missingnar   r   r   test_isna_extension_array=   s    z,BaseInterfaceTests.test_isna_extension_arrayc             C   s@   |d |d kst |j }|d |d< |d |d ks<t d S )Nr   r   )r	   copy)r
   r   r   r   r   r   	test_copyJ   s    zBaseInterfaceTests.test_copyc             C   sl   |d |d kst |j }||k	s(t t|t|ks<t |d |d< |d |d ks\t |jd d d S )Nr   r   )r   )r	   viewtype)r
   r   r   r   r   r   	test_viewR   s    zBaseInterfaceTests.test_viewN)__name__
__module____qualname____doc__r   r   r   r   r   r"   r$   r'   r)   r-   r/   r2   r   r   r   r   r      s   r   )Znumpyr   Zpandas.core.dtypes.commonr   Zpandas.core.dtypes.dtypesr   Zpandasr   Zpandas._testingZ_testingr    baser   r   r   r   r   r   <module>   s   
