
    d                     b    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e          ZdS )    N)is_extension_array_dtype)ExtensionDtype)BaseExtensionTestsc                   f    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd ZdS )BaseInterfaceTestsz,Tests that the basic interface is satisfied.c                 0    t          |          dk    sJ d S Nd   )lenselfdatas     a/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/extension/base/interface.pytest_lenzBaseInterfaceTests.test_len   s    4yyC    c                      |j         dk    sJ d S r	   )sizer   s     r   	test_sizezBaseInterfaceTests.test_size   s    yCr   c                      |j         dk    sJ d S )N   )ndimr   s     r   	test_ndimzBaseInterfaceTests.test_ndim   s    yA~~~~~~r   c                     |j         du sJ d S )NT)_can_hold_nar   s     r   test_can_hold_na_validz)BaseInterfaceTests.test_can_hold_na_valid   s     D((((((r   c                    |j         j        }||                                          }|d         |v sJ |d         |v sJ ||v sJ ||vsJ t          j        D ]3}||u s t          |          t          |          k    r'||vsJ ||vsJ 4d S )Nr   )dtypena_valueisnatmNULL_OBJECTStype)r   r   data_missingr   na_value_objs        r   test_containsz BaseInterfaceTests.test_contains   s     :&TYY[[L! Aw$A,.... <''''t#### O 	4 	4Lx''4+=+=h+O+Ot++++|33333	4 	4r   c                 t    t          j        |          }|                    d          }||j        k    sJ d S )NF)index)pdSeriesmemory_usagenbytes)r   r   sresults       r   test_memory_usagez$BaseInterfaceTests.test_memory_usage9   s;    IdOOe,,!!!!!!r   c                    t          j        |          }|d         |d         k    sJ t          j        |t                    }t          j        t          |          t                    }t	          j        ||           d S )Nr   r   )nparrayobjectlistr    assert_numpy_array_equalr   r   r-   expecteds       r   test_array_interfacez'BaseInterfaceTests.test_array_interface>   so    $ayDG####$f---8DJJf555
#FH55555r   c                     t          |          sJ t          |j                  sJ t          t          j        |                    sJ t	          |j        t
                    sJ d S N)r   r   r(   r)   
isinstancer   r   s     r   test_is_extension_array_dtypez0BaseInterfaceTests.test_is_extension_array_dtypeF   sf    '-----'
33333'	$88888$*n5555555r   c                 N    t          |d          rJ t          |d          rJ d S )Nvalues_values)hasattrr   s     r   test_no_values_attributez+BaseInterfaceTests.test_no_values_attributeL   s6     4*****4+++++++r   c                     t          j        |          }t          |j        d          r%|j        j        d         j        |j        j        u sJ d S d S )Nblocksr   )r(   r)   r@   _mgrrC   
is_numericr   _is_numericr   r   r-   s      r   test_is_numeric_honoredz*BaseInterfaceTests.test_is_numeric_honoredR   sY    46;)) 	N;%a(3tz7MMMMM	N 	NMMr   c                     |                                 }t          |          rh|                    d          sJ |                                sJ |                    d          rJ |                                rJ |j        j        sJ d S d S )Nanyall)r   r   _reducerJ   rK   r   _is_boolean)r   r#   nas      r   test_isna_extension_arrayz,BaseInterfaceTests.test_isna_extension_arrayW   s       #B'' 	(::e$$$$$6688OOOzz%(((((vvxx8''''	( 	( ('r   c                     |d         |d         k    sJ |                                 }|d         |d<   |d         |d         k    sJ d S )Nr   r   )copyrG   s      r   	test_copyzBaseInterfaceTests.test_copyd   sT    Aw$q'!!!!q'QayF1I%%%%%%r   c                    |d         |d         k    sJ |                                 }||usJ t          |          t          |          k    sJ |d         |d<   |d         |d         k    sJ |                     d            d S )Nr   r   r0   )viewr"   rG   s      r   	test_viewzBaseInterfaceTests.test_viewl   s     Aw$q'!!!!T!!!!F||tDzz))))1Iq	Aw$q'!!!! 				r   c                     |                                 }t          |          }t          |t                    sJ ||k    sJ d S r:   )tolistr4   r;   r6   s       r   test_tolistzBaseInterfaceTests.test_tolist{   sG    ::&$'''''!!!!!!r   N)__name__
__module____qualname____doc__r   r   r   r   r%   r.   r8   r<   rA   rH   rO   rR   rU   rX    r   r   r   r      s        66            ) ) )4 4 44" " "
6 6 66 6 6, , ,N N N
( ( (& & &  " " " " "r   r   )numpyr1   pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   pandasr(   pandas._testing_testingr     pandas.tests.extension.base.baser   r   r]   r   r   <module>re      s        > > > > > > 4 4 4 4 4 4           ? ? ? ? ? ?t" t" t" t" t"+ t" t" t" t" t"r   