
    Owg[                     `    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y)    N)'construct_1d_object_array_from_listlike)is_extension_array_dtype)ExtensionDtypec                   d    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y)BaseInterfaceTestsz,Tests that the basic interface is satisfied.c                 $    t        |      dk(  sJ y Nd   )lenselfdatas     \/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/extension/base/interface.pytest_lenzBaseInterfaceTests.test_len   s    4yC    c                 &    |j                   dk(  sJ y r	   )sizer   s     r   	test_sizezBaseInterfaceTests.test_size   s    yyCr   c                 &    |j                   dk(  sJ y )N   )ndimr   s     r   	test_ndimzBaseInterfaceTests.test_ndim   s    yyA~~r   c                 $    |j                   du sJ y )NT)_can_hold_nar   s     r   test_can_hold_na_validz)BaseInterfaceTests.test_can_hold_na_valid   s      D(((r   c                    |j                   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 ||vr*J  y )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### OO 	4Lx'4+=h+Ot+++|333	4r   c                 t    t        j                  |      }|j                  d      }||j                  k(  sJ y )NF)index)pdSeriesmemory_usagenbytes)r   r   sresults       r   test_memory_usagez$BaseInterfaceTests.test_memory_usage:   s1    IIdOe,!!!r   c                 8   t        j                  |      }|d   |d   k(  sJ t        j                  |t              }t        j                  t        |      t              }|j                  dkD  rt        t        |            }t        j                  ||       y )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?   ss    $ayDG###$f-88DJf5==1>tDzJH
##FH5r   c                     t        |      sJ t        |j                        sJ t        t        j                  |            sJ t	        |j                  t
              sJ y N)r   r   r(   r)   
isinstancer   r   s     r   test_is_extension_array_dtypez0BaseInterfaceTests.test_is_extension_array_dtypeJ   sL    '---'

333'		$888$**n555r   c                 <    t        |d      rJ t        |d      rJ y )Nvalues_values)hasattrr   s     r   test_no_values_attributez+BaseInterfaceTests.test_no_values_attributeP   s'     4***4++++r   c                     t        j                  |      }t        |j                  d      r<|j                  j                  d   j
                  |j                  j                  u sJ y y )Nblocksr   )r(   r)   r@   _mgrrC   
is_numericr   _is_numericr   r   r-   s      r   test_is_numeric_honoredz*BaseInterfaceTests.test_is_numeric_honoredV   sO    46;;);;%%a(33tzz7M7MMMM *r   c                     |j                         }t        |      rc|j                  d      sJ |j                         sJ |j                  d      rJ |j	                         rJ |j
                  j                  sJ y y )Nanyall)r   r   _reducerJ   rK   r   _is_boolean)r   r#   nas      r   test_isna_extension_arrayz,BaseInterfaceTests.test_isna_extension_array[   sq      #B'::e$$$668O8zz%(((vvx<88'''' (r   c                     |d   |d   k7  sJ |j                         }|j                  j                  r#t        j                  d|j                   d       |d   |d<   |d   |d   k7  sJ y )Nr   r   z!test_copy assumes mutability and  is immutable)copyr   _is_immutablepytestskiprG   s      r   	test_copyzBaseInterfaceTests.test_copyh   sm    Aw$q'!!!::##KK;DJJ<}UVq'QayF1I%%%r   c                 <   |d   |d   k7  sJ |j                         }||usJ t        |      t        |      k(  sJ |j                  j                  r#t	        j
                  d|j                   d       |d   |d<   |d   |d   k(  sJ |j                  d        y )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|tDz)))::##KK;DJJ<}UV1Iq	Aw$q'!!! 				r   c                 l    |j                         }t        |      }t        |t              sJ ||k(  sJ y r:   )tolistr4   r;   r6   s       r   test_tolistzBaseInterfaceTests.test_tolist   s4    :&$'''!!!r   N)__name__
__module____qualname____doc__r   r   r   r   r%   r.   r8   r<   rA   rH   rO   rV   rY   r\    r   r   r   r      sL    6  )44"
	66,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 > 4  }" }"r   