
    PiC                     t    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	m
Z
 d dlZd dlmZ  G d d          ZdS )    N)np_version_gt2)'construct_1d_object_array_from_listlike)is_extension_array_dtype)ExtensionDtypec                   l    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 ZdS )BaseInterfaceTestsz,Tests that the basic interface is satisfied.c                 0    t          |          dk    sJ d S N
   )lenselfdatas     y/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/extension/base/interface.pytest_lenzBaseInterfaceTests.test_len   s    4yyB    c                      |j         dk    sJ d S r
   )sizer   s     r   	test_sizezBaseInterfaceTests.test_size   s    yB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 ]}||u s t          |          t          |          k    r'||vsJ |rVt          |t                    rAt          |t          j	        j
        j        t          j	        j
        j        f          r||v sJ ||vsJ d S )Nr   )dtypena_valueisnatmNULL_OBJECTStype
isinstancefloatpdcorearraysBaseMaskedArrayArrowExtensionArray)r   r   data_missingusing_nan_is_nar   na_value_objs         r   test_containsz BaseInterfaceTests.test_contains"   s6    :&TYY[[L! Aw$A,.... <''''t#### O 	8 	8Lx''4+=+=h+O+Ot++++8|U338 6: 8 $|33333#<77777'	8 	8r   c                 t    t          j        |          }|                    d          }||j        k    sJ d S )NF)index)r&   Seriesmemory_usagenbytes)r   r   sresults       r   test_memory_usagez$BaseInterfaceTests.test_memory_usageJ   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   r5   expecteds       r   test_array_interfacez'BaseInterfaceTests.test_array_interfaceO   s    $ayDG####$f---8DJJf555=1>tDzzJJH
#FH55555r   c                 J   t          j        |d          }t          j        |d          }t          j        ||          rJ t          sd S 	 t          j        |d          }n# t          $ r Y d S w xY wt          j        |d          }t          j        ||          sJ d S )NT)copyF)r9   r:   may_share_memoryr   
ValueError)r   r   result_copy1result_copy2result_nocopy1result_nocopy2s         r   test_array_interface_copyz,BaseInterfaceTests.test_array_interface_copyZ   s    x4000x4000&|\BBBBB 	F	Xd777NN 	 	 	FF	 $U333">>BBBBBBBs   A% %
A32A3c                     t          |          sJ t          |j                  sJ t          t          j        |                    sJ t	          |j        t
                    sJ d S N)r   r   r&   r1   r$   r   r   s     r   test_is_extension_array_dtypez0BaseInterfaceTests.test_is_extension_array_dtypem   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_attributes   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&   r1   rP   _mgrrS   
is_numericr   _is_numericr   r   r5   s      r   test_is_numeric_honoredz*BaseInterfaceTests.test_is_numeric_honoredy   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   _reducerZ   r[   r   _is_boolean)r   r+   nas      r   test_isna_extension_arrayz,BaseInterfaceTests.test_isna_extension_array~   s       #B'' 	(::e$$$$$6688OO8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)rB   r   _is_immutablepytestskiprW   s      r   	test_copyzBaseInterfaceTests.test_copy   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 ra   r8   )viewr#   r   rb   rc   rd   rW   s      r   	test_viewzBaseInterfaceTests.test_view   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 rK   )tolistr<   r$   r>   s       r   test_tolistzBaseInterfaceTests.test_tolist   sG    ::&$'''''!!!!!!r   N)__name__
__module____qualname____doc__r   r   r   r   r.   r6   r@   rI   rL   rQ   rX   r_   re   rh   rk    r   r   r   r      s       66      ) ) )&8 &8 &8P" " "
	6 	6 	6C C C&6 6 6, , ,N N N
( ( (	& 	& 	&  $" " " " "r   r   )numpyr9   rc   pandas.compat.numpyr   pandas.core.dtypes.castr   pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   pandasr&   pandas._testing_testingr!   r   rp   r   r   <module>ry      s         . . . . . . K K K K K K > > > > > > 4 4 4 4 4 4          ^" ^" ^" ^" ^" ^" ^" ^" ^" ^"r   