a
    Pf                     @   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G dd dejjZ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
   [/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/extension/test_common.pyr      s   r   c                   @   s:   e Zd ZddddZdddZedd Zdd
dZdS )
DummyArrayN)returnc                 C   s
   || _ d S Ndata)selfr   r
   r
   r   __init__   s    zDummyArray.__init__c                 C   s   | j S r   r   r   dtypecopyr
   r
   r   	__array__   s    zDummyArray.__array__c                 C   s   t  S r   )r   )r   r
   r
   r   r      s    zDummyArray.dtypeTc                 C   sF   t |tr |rt| | jS | S |s2tj| |dS tj| ||dS d S )Nr   )r   r   )
isinstancer   typer   npZasarrayarrayr   r
   r
   r   astype   s    
zDummyArray.astype)NN)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J d S r   r   r   r   r
   r
   r   test_is_extension_array_dtype(   s    z5TestExtensionArrayDtype.test_is_extension_array_dtypec                 C   s   t |rJ d S r   r   r"   r
   r
   r   !test_is_not_extension_array_dtype5   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   sT   t tg d} tjg dtd}| t}t|| | d}t|| d S )Nr    r!      r   object)r   r   r   r+   r   tmZassert_numpy_array_equal)arrexpectedresultr
   r
   r   test_astype:   s    

r0   c                  C   sP   t tjg dtjd} | j| jdd}| |u s4J | | j}| |usLJ d S )Nr)   r   F)r   )r   r   r   Zint64r   r   )r-   r/   r
   r
   r   test_astype_no_copyE   s
    r1   r   c                 C   s    t | tjsJ t| sJ d S r   )r   r   ExtensionDtyper   r   r
   r
   r   r#   O   s    r#   c                       s    e Zd ZdZ fddZ  ZS )CapturingStringArrayz6Extend StringArray to capture arguments to __getitem__c                    s   || _ t |S r   )last_item_argsuper__getitem__)r   item	__class__r
   r   r6   X   s    z CapturingStringArray.__getitem__)r   r   r	   __doc__r6   __classcell__r
   r
   r8   r   r3   U   s   r3   c                  C   sN   t dttjddgtdi} | jd d }| d jj}t|dksJJ d S )NZcol1ZhelloZworldr   r    zslice(None, 1, None))	r(   Z	DataFramer3   r   r   r+   Zilocr4   str)Zdf_outr
   r
   r   test_ellipsis_index]   s    r?   )numpyr   r%   Zpandas.core.dtypesr   Zpandas.core.dtypes.commonr   Zpandasr(   Zpandas._testingZ_testingr,   Zpandas.core.arraysr   r2   r   r   r   r0   r1   r&   r'   ZCategoricalDtypeZIntervalDtyper#   ZarraysZStringArrayr3   r?   r
   r
   r
   r   <module>   s   

