Ë
    ômxio  ã                   ót   — d dl Z 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y)é    N)Únp_version_gt2)Ú'construct_1d_object_array_from_listlike)Úis_extension_array_dtype)ÚExtensionDtypec                   ój   — 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y)ÚBaseInterfaceTestsz,Tests that the basic interface is satisfied.c                 ó$   — t        |«      dk(  sJ ‚y ©Néd   )Úlen©ÚselfÚdatas     ú\/home/htdocs/ttos/venv/lib/python3.12/site-packages/pandas/tests/extension/base/interface.pyÚtest_lenzBaseInterfaceTests.test_len   s   € Ü�4‹y˜CÒÐÑó    c                 ó&   — |j                   dk(  sJ ‚y r
   )Úsizer   s     r   Ú	test_sizezBaseInterfaceTests.test_size   s   € Ø�y‰y˜CÒÐÑr   c                 ó&   — |j                   dk(  sJ ‚y )Né   )Úndimr   s     r   Ú	test_ndimzBaseInterfaceTests.test_ndim   s   € Ø�y‰y˜AŠ~Ð‰~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³   € ð —:‘:×&Ñ&ˆà�T—Y‘Y“[�LÑ!ˆð �A‰w˜$‰ÐˆØ˜A‰ ,Ñ.Ð.Ð.ð ˜<Ñ'Ð'Ð'Ø˜tÑ#Ð#Ð#ô ŸO™Oò 	4ˆLØ˜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   € Ü�I‰I�d‹OˆØ—‘ 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_interfaceC   ss   € Ü—‘˜$“ˆØ�a‰y˜D ™GÒ#Ð#Ð#ä—‘˜$¤fÔ-ˆÜ—8‘8œD ›J¬fÔ5ˆØ�=‰=˜1Òä>¼tÀD»zÓJˆHÜ
×#Ñ# F¨HÕ5r   c                 ó  — t        j                  |d¬«      }t        j                  |d¬«      }t        j                  ||«      rJ ‚t        sy d}d}t	        j
                  d¬«      5 }t	        j                  d«       t        j                  |d¬«      }t        |«      dk  sJ ‚t        |«      rd}|t        |d   j                  «      v sJ ‚d d d «       t	        j
                  d¬«      5 }t	        j                  d«       t        j                  |d¬«      }t        |«      dk  sJ ‚t        |«      rd}|t        |d   j                  «      v sJ ‚d d d «       |st        j                  «      sJ ‚y y # 1 sw Y   Œ©xY w# 1 sw Y   Œ1xY w)	NT)ÚcopyFzGStarting with NumPy 2.0, the behavior of the 'copy' keyword has changed)ÚrecordÚalwaysr   r   )
r2   r3   Úmay_share_memoryr   ÚwarningsÚcatch_warningsÚsimplefilterr   ÚstrÚmessage)	r   r   Úresult_copy1Úresult_copy2Úwarning_raisedÚmsgÚwÚresult_nocopy1Úresult_nocopy2s	            r   Útest_array_interface_copyz,BaseInterfaceTests.test_array_interface_copyN   s^  € Ü—x‘x ¨4Ô0ˆÜ—x‘x ¨4Ô0ˆÜ×&Ñ& |°\ÔBÐBÐBåààˆØWˆÜ×$Ñ$¨DÔ1ð 	0°QÜ×!Ñ! (Ô+ÜŸX™X d°Ô7ˆNÜ�q“6˜Q’;Ð�;Ü�1ŒvØ!%�Øœc ! A¡$§,¡,Ó/Ñ/Ð/Ð/÷	0ô ×$Ñ$¨DÔ1ð 	0°QÜ×!Ñ! (Ô+ÜŸX™X d°Ô7ˆNÜ�q“6˜Q’;Ð�;Ü�1ŒvØ!%�Øœc ! A¡$§,¡,Ó/Ñ/Ð/Ð/÷	0ñ ä×&Ñ& ~°~ÔFÐFÑFð ÷!	0ð 	0ú÷	0ð 	0ús   Á(A&E6Ã,A&FÅ6E?ÆF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_dtypem   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_attributes   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*   rS   Ú_mgrrV   Ú
is_numericr   Ú_is_numeric©r   r   r.   s      r   Útest_is_numeric_honoredz*BaseInterfaceTests.test_is_numeric_honoredy   sO   € Ü—‘˜4“ˆÜ�6—;‘; Ô)Ø—;‘;×%Ñ% aÑ(×3Ñ3°t·z±z×7MÑ7MÑ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   Ú_reducer]   r^   r   Ú_is_boolean)r   r$   Únas      r   Útest_isna_extension_arrayz,BaseInterfaceTests.test_isna_extension_array~   sq   € ð ×ÑÓ ˆÜ# BÔ'Ø—:‘:˜eÔ$Ð$Ð$Ø—6‘6”8ˆO�8à—z‘z %Ô(Ð(Ð(Ø—v‘v”xÐ�<à—8‘8×'Ò'Ð'Ñ'ð (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)r;   r   Ú_is_immutableÚpytestÚskiprZ   s      r   Ú	test_copyzBaseInterfaceTests.test_copy‹   sm   € à�A‰w˜$˜q™'Ò!Ð!Ð!Ø—‘“ˆà�:‰:×#Ò#Ü�K‰KÐ;¸D¿J¹J¸<À}ÐUÔVà�q‘'ˆˆQ‰Ø�a‰y˜F 1™IÒ%Ð%Ñ%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 rd   r1   )Úviewr#   r   re   rf   rg   rZ   s      r   Ú	test_viewzBaseInterfaceTests.test_view–   s£   € ð �A‰w˜$˜q™'Ò!Ð!Ð!à—‘“ˆØ˜TÑ!Ð!Ð!Ü�F‹|œt D›zÒ)Ð)Ð)à�:‰:×#Ò#Ü�K‰KÐ;¸D¿J¹J¸<À}ÐUÔVà˜1‘Iˆˆq‰	Ø�A‰w˜$˜q™'Ò!Ð!Ð!ð 	�	‰	˜ˆ	Õr   c                 ól   — |j                  «       }t        |«      }t        |t        «      sJ ‚||k(  sJ ‚y rM   )Útolistr5   rN   r7   s       r   Útest_tolistzBaseInterfaceTests.test_tolist¨   s4   € Ø—‘“ˆÜ˜“:ˆÜ˜&¤$Ô'Ð'Ð'Ø˜Ò!Ð!Ñ!r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r&   r/   r9   rK   rO   rT   r[   rb   rh   rk   rn   © r   r   r   r      sR   „ Ù6ò ò òò)ò4ò4"ò
	6òGò>6ò,òNò
(ò	&òó$"r   r   )r?   Únumpyr2   rf   Úpandas.compat.numpyr   Úpandas.core.dtypes.castr   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   Úpandasr)   Úpandas._testingÚ_testingr!   r   rs   r   r   ú<module>r|      s,   ðÛ ã Û å .å KÝ >Ý 4ã Ý ÷\"ò \"r   