B
    Y0d+                 @   s   d dl Zd dlZd dlmZ d dlmZ d dlZd dl	m
Z d dlmZ G dd dejZG dd deZG d	d
 d
Zdd Zdd Zejde e gdd ZdS )    N)dtypes)is_extension_array_dtype)ExtensionArrayc               @   s   e Zd ZdS )
DummyDtypeN)__name__
__module____qualname__ r	   r	   T/var/www/html/venv/lib/python3.7/site-packages/pandas/tests/extension/test_common.pyr      s   r   c               @   s2   e Zd Zdd Zdd Zedd Zddd	Zd
S )
DummyArrayc             C   s
   || _ d S )N)data)selfr   r	   r	   r
   __init__   s    zDummyArray.__init__c             C   s   | j S )N)r   )r   dtyper	   r	   r
   	__array__   s    zDummyArray.__array__c             C   s   t  S )N)r   )r   r	   r	   r
   r      s    zDummyArray.dtypeTc             C   s0   t |tr |rt| | jS | S tj| ||dS )N)r   copy)
isinstancer   typer   nparray)r   r   r   r	   r	   r
   astype   s
    
zDummyArray.astypeN)T)r   r   r   r   r   propertyr   r   r	   r	   r	   r
   r      s   r   c               @   s   e Zd Zejdeg eg je	eg e
 eeddggdd Zejdeg e	eg gdd ZdS )	TestExtensionArrayDtypevalues      c             C   s   t |std S )N)r   AssertionError)r   r   r	   r	   r
   test_is_extension_array_dtype&   s    z5TestExtensionArrayDtype.test_is_extension_array_dtypec             C   s   t |rtd S )N)r   r   )r   r   r	   r	   r
   !test_is_not_extension_array_dtype3   s    z9TestExtensionArrayDtype.test_is_not_extension_array_dtypeN)r   r   r   pytestmarkparametrizepdZCategoricalr   ZSeriesr   r   r   r   r   r   r	   r	   r	   r
   r   %   s   
r   c              C   sX   t tdddg} tjdddgtd}| t}t|| | d}t|| d S )Nr   r      )r   object)r   r   r   r$   r   tmZassert_numpy_array_equal)arrexpectedresultr	   r	   r
   test_astype8   s    

r)   c              C   sR   t tjdddgtjd} | j| jdd}| |ks6t| | j}| |k	sNtd S )Nr   r   r#   )r   F)r   )r   r   r   Zint64r   r   r   )r&   r(   r	   r	   r
   test_astype_no_copyD   s
    r*   r   c             C   s    t | tjstt| std S )N)r   r   ExtensionDtyper   r   )r   r	   r	   r
   r   N   s    r   )numpyr   r   Zpandas.core.dtypesr   Zpandas.core.dtypes.commonr   Zpandasr"   Zpandas._testingZ_testingr%   Zpandas.core.arraysr   r+   r   r   r   r)   r*   r    r!   ZCategoricalDtypeZIntervalDtyper   r	   r	   r	   r
   <module>   s   
