
    g[                     h    d dl Zd dlZd dlmZ d dlmZ d dlmZ d dl	Z
d dlmZ  G d d          ZdS )    N)'construct_1d_object_array_from_listlike)is_extension_array_dtype)ExtensionDtypec                   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     q/var/www/html/nodeJS/PythonScripts/venv3.11/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_usage:   s;    IdOOe,,!!!!!!r   c                 T   t          j        |          }|d         |d         k    sJ t          j        |t                    }t          j        t          |          t                    }|j        dk    rt          t          |                    }t          j        ||           d S )Nr   r   r   )nparrayobjectlistr   r   r    assert_numpy_array_equalr   r   r-   expecteds       r   test_array_interfacez'BaseInterfaceTests.test_array_interface?   s    $ayDG####$f---8DJJf555=1>tDzzJJH
#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_dtypeJ   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_attributeP   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_honoredV   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_array[   s       #B'' 	(::e$$$$$6688OOOzz%(((((vvxx8''''	( 	( ('r   c                     |d         |d         k    sJ |                                 }|j        j        rt          j        d|j         d           |d         |d<   |d         |d         k    sJ d S )Nr   r   z!test_copy assumes mutability and  is immutable)copyr   _is_immutablepytestskiprG   s      r   	test_copyzBaseInterfaceTests.test_copyh   s    Aw$q'!!!!:# 	WKUDJUUUVVVq'QayF1I%%%%%%r   c                 b   |d         |d         k    sJ |                                 }||usJ t          |          t          |          k    sJ |j        j        rt	          j        d|j         d           |d         |d<   |d         |d         k    sJ |                     d            d S )Nr   r   z!test_view assumes mutability and rQ   r0   )viewr"   r   rS   rT   rU   rG   s      r   	test_viewzBaseInterfaceTests.test_views   s     Aw$q'!!!!T!!!!F||tDzz)))):# 	WKUDJUUUVVV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   rV   rY   r\    r   r   r   r      s        66            ) ) )4 4 44" " "
	6 	6 	66 6 6, , ,N N N
( ( (	& 	& 	&  $" " " " "r   r   )numpyr1   rT   pandas.core.dtypes.castr   pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   pandasr(   pandas._testing_testingr    r   ra   r   r   <module>ri      s         K K K K K K > > > > > > 4 4 4 4 4 4          }" }" }" }" }" }" }" }" }" }"r   