Ë
    ¤eh[F  ã                   ó  — d Z ddlZddlZddlm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„ Zej"                  d„ «       Z ej"                  dej&                  g¬	«      d
„ «       Zej"                  d„ «       Z ej"                  dej&                  g¬	«      d„ «       Z ej"                  dej&                  g¬	«      d„ «       Z ej"                  dej&                  g¬	«      d„ «       Z ej"                  dej&                  g¬	«      d„ «       Zej"                  d„ «       Z ej"                  dej&                  g¬	«      d„ «       Z ej"                  dej&                  g¬	«      d„ «       Z G d„ dej:                  «      Zd„ Zy)aj  
This file contains a minimal set of tests for compliance with the extension
array interface test suite, and should contain no other tests.
The test suite for the full functionality of the array is located in
`pandas/tests/arrays/`.

The tests in this file are inherited from the BaseExtensionTests, and only
minimal tweaks should be applied to get the tests passing (by overwriting a
parent method).

Additional tests should either be added to one of the BaseExtensionTests
classes (if they are relevant for the extension interface for all dtypes), or
be added to the array-specific tests in `pandas/tests/arrays/`.

é    N)ÚPerformanceWarning©ÚSparseDtype)ÚSparseArray)Úbasec                 ó  — t         j                  j                  d«      }t        j                  | «      r|j	                  d¬«      }n1|j                  dddt        ¬«      }|d   |d   k(  r|dxx   dz  cc<   | |dd d…<   |S )Né   éd   )Úsizeé   )r   Údtyper   é   )ÚnpÚrandomÚdefault_rngÚisnanÚuniformÚintegersÚint)Ú
fill_valueÚrngÚdatas      ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/extension/test_sparse.pyÚ	make_datar      sy   € Ü
�)‰)×
Ñ
 Ó
"€CÜ	‡x�x�
ÔØ�{‰{ ˆ{Ó$‰à�|‰|˜A˜s¨´Cˆ|Ó8ˆØ�‰7�d˜1‘gÒØ�‹G�q‰L‹Gà€DˆˆˆAˆ�JØ€Kó    c                  ó   — t        «       S ©Nr   © r   r   r   r   *   s
   € ä‹=Ðr   )Úparamsc                 óZ   — t        t        | j                  «      | j                  ¬«      }|S )z*Length-100 PeriodArray for semantics test.©r   )r   r   Úparam)ÚrequestÚress     r   r   r   /   s"   € ô ”i §¡Ó.¸7¿=¹=Ô
I€CØ€Jr   c                  óD   — t        t        j                  d«      dz  «      S )Nr
   r	   )r   r   Úonesr   r   r   Údata_for_twosr'   6   s   € ä”r—w‘w˜s“| aÑ'Ó(Ð(r   c                 óP   — t        t        j                  dg| j                  ¬«      S )zLength 2 array with [NA, Valid]r   r!   ©r   r   Únanr"   ©r#   s    r   Údata_missingr,   ;   s   € ô œŸ™ �{¨w¯}©}Ô=Ð=r   c              #   ó    ‡ K  — ˆ fd„}|–— y­w)z1Return different versions of data for count timesc              3   ó†   •K  — t        | «      D ].  }t        t        ‰j                  «      ‰j                  ¬«      –— Œ0 y ­w)Nr!   )Úranger   r   r"   )ÚcountÚ_r#   s     €r   Úgenzdata_repeated.<locals>.genE   s6   øè ø€ Ü�u“ò 	RˆAÜœi¨¯©Ó6À7Ç=Á=ÔQÓQñ	Rùs   ƒ>ANr   )r#   r2   s   ` r   Údata_repeatedr3   A   s   øè ø€ ôRð ƒIùs   ƒc                 ó4   — t        g d¢| j                  ¬«      S )N)r	   r   r   r!   )r   r"   r+   s    r   Údata_for_sortingr5   L   s   € ä’y¨W¯]©]Ô;Ð;r   c                 óR   — t        dt        j                  dg| j                  ¬«      S )Nr	   r   r!   r)   r+   s    r   Údata_missing_for_sortingr7   Q   s   € ä˜œ2Ÿ6™6 1�~°'·-±-Ô@Ð@r   c                  ó   — d„ S )Nc                 óZ   — t        j                  | «      xr t        j                  |«      S r   )ÚpdÚisna)ÚleftÚrights     r   ú<lambda>zna_cmp.<locals>.<lambda>X   s   € œrŸw™w t›}Ò?´·±¸³€ r   r   r   r   r   Úna_cmpr?   V   s   € á?Ð?r   c           
      óx   — t        ddt        j                  t        j                  ddddg| j                  ¬«      S )Nr   r	   r   r!   r)   r+   s    r   Údata_for_groupingrA   [   s,   € ä˜˜1œbŸf™f¤b§f¡f¨a°°A°qÐ9ÀgÇmÁmÔTÐTr   c                 ó`   — t        ddt        j                  dddddddg
| j                  ¬«      S )Nr   éþÿÿÿéÿÿÿÿé   r	   r   r!   r)   r+   s    r   Údata_for_comparerF   `   s,   € ä˜˜1œbŸf™f b¨"¨a°°A°q¸!Ð<ÈÏÉÔWÐWr   c                   ó  ‡ — e Zd Zdedefd„Zej                  j                  dddg«      ˆ fd„«       Z	ej                  j                  dddg«      ˆ fd„«       Z
d	„ Zd
„ Zej                  j                  d«      ej                  j                  dddgej                  j!                  ddgddg¬«      g«      ej                  j                  dddg«      ˆ fd„«       «       «       Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zd„ Zˆ fd„Zd„ Zˆ fd„Zˆ fd „Zej                  j;                  d!¬"«      ˆ fd#„«       Zd$„ Zd%Z d&„ Z!d'„ Z"ej                  j;                  d(¬"«      ˆ fd)„«       Z#d*„ Z$ˆ fd+„Z%d,„ Z&ej                  j                  d-d.d/g«      ˆ fd0„«       Z'ej                  jP                  ej                  j                  d1ejR                  ejT                  ejV                  g«      ˆ fd2„«       «       Z,ej                  jP                  ˆ fd3„«       Z-ej                  j                  d4d5„ d6 e.d7e/j`                  g«      fd8„ d9 e.d7e/j`                  g«      fed6 e.d:d;gd;¬<«      fed9 e.d:e/j`                  g«      fg«      d=„ «       Z1ej                  j                  d>d6d9g«      d?„ «       Z2ej                  j;                  e3d@¬A«      ˆ fdB„«       Z4d6Z5d6Z6d6Z7d6Z8dC„ Z9ˆ fdD„Z:ˆ fdE„Z;ˆ fdF„Z<dGejT                  dHe.fdI„Z=dHe.fdJ„Z>dHe.fdK„Z?dHe.fdL„Z@ej                  j;                  dM¬"«      ˆ fdN„«       ZAej                  j;                  dO¬"«      ej                  j                  dPddg«      ˆ fdQ„«       «       ZBˆ xZCS )RÚTestSparseArrayÚop_nameÚreturnc                  ó   — y)NTr   )ÚselfÚobjrI   s      r   Ú_supports_reductionz#TestSparseArray._supports_reductionf   s   € Ør   ÚskipnaTFc                 ó\  •— |dv r<t         j                  j                  d¬«      }|j                  j	                  |«       nZ|dv rV|j
                  j                  dk(  r=|s;t         j                  j                  d¬«      }|j                  j	                  |«       t        ‰| �!  |||«       y )N©ÚprodÚmedianÚvarÚstdÚsemÚskewÚkurtú,This should be viable but is not implemented©Úreason©ÚsumÚmaxÚminÚmeanÚfzgetting a non-nan float)	ÚpytestÚmarkÚxfailÚnodeÚ
add_markerr   ÚkindÚsuperÚtest_reduce_series_numeric©rL   r   Úall_numeric_reductionsrO   r#   rc   Ú	__class__s         €r   ri   z*TestSparseArray.test_reduce_series_numerici   sš   ø€ à!ð &
ñ 
ô —;‘;×$Ñ$ØEð %ó ˆDð �L‰L×#Ñ# DÕ)à"Ð&CÑCØ—
‘
—‘ 3Ò&Ùä—;‘;×$Ñ$Ð,EÐ$ÓFˆDØ�L‰L×#Ñ# DÔ)ä‰Ñ*¨4Ð1GÈÕPr   c                 ó\  •— |dv r<t         j                  j                  d¬«      }|j                  j	                  |«       nZ|dv rV|j
                  j                  dk(  r=|s;t         j                  j                  d¬«      }|j                  j	                  |«       t        ‰| �!  |||«       y )NrQ   rY   rZ   r\   ra   z$ExtensionArray NA mask are different)	rb   rc   rd   re   rf   r   rg   rh   Útest_reduce_framerj   s         €r   rn   z!TestSparseArray.test_reduce_frame‚   sš   ø€ à!ð &
ñ 
ô —;‘;×$Ñ$ØEð %ó ˆDð �L‰L×#Ñ# DÕ)à"Ð&CÑCØ—
‘
—‘ 3Ò&Ùä—;‘;×$Ñ$Ð,RÐ$ÓSˆDØ�L‰L×#Ñ# DÔ)ä‰Ñ! $Ð(>ÀÕGr   c                 ój   — |j                   t        t        d«      k(  rt        j                  d«       y y )Nr   zCan't store nan in int array.)r   r   r   rb   Úskip©rL   r   s     r   Ú_check_unsupportedz"TestSparseArray._check_unsupported›   s'   € Ø�:‰:œ¤S¨!Ó,Ò,Ü�K‰KÐ7Õ8ð -r   c                 óŠ  — t        j                  d|d d i«      }t        j                  dg d¢i«      }t        j                  dg d¢i«      j                  d«      }|||g}t        j                  |«      }t        j                  |D �cg c]  }|j	                  d„ «      ‘Œ c}«      }t        j                  ||«       y c c}w )NÚAr   )r   r	   r   )ÚaÚbÚcÚcategoryc                 óR   — t        j                  | «      j                  t        «      S r   )r   ÚasarrayÚastypeÚobject)Úss    r   r>   z:TestSparseArray.test_concat_mixed_dtypes.<locals>.<lambda>ª   s   € œrŸz™z¨!›}×3Ñ3´FÓ;€ r   )r:   Ú	DataFramer{   ÚconcatÚapplyÚtmÚassert_frame_equal)	rL   r   Údf1Údf2Údf3ÚdfsÚresultÚxÚexpecteds	            r   Útest_concat_mixed_dtypesz(TestSparseArray.test_concat_mixed_dtypesŸ   s¥   € ô �l‰l˜C  b q ˜?Ó+ˆÜ�l‰l˜C¢Ð+Ó,ˆÜ�l‰l˜C¢Ð1Ó2×9Ñ9¸*ÓEˆØ�C˜ˆoˆô —‘˜3“ˆÜ—9‘9ØFIÖJÀˆQ�W‰WÑ;Õ<ÒJó
ˆô 	×Ñ˜f hÕ/ùò Ks   Â	C z9ignore:The previous implementation of stack is deprecatedÚcolumnsrt   ÚB)rt   ru   )rt   rv   ÚouterÚinner)ÚnamesÚfuture_stackc                 ó(   •— t         ‰| �  |||«       y r   )rh   Ú
test_stack)rL   r   r‹   r�   rl   s       €r   r’   zTestSparseArray.test_stack®   s   ø€ ô 	‰Ñ˜4 ¨,Õ7r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rr   rh   Útest_concat_columns©rL   r   Úna_valuerl   s      €r   r”   z#TestSparseArray.test_concat_columns¾   s    ø€ Ø×Ñ Ô%Ü‰Ñ# D¨(Õ3r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rr   rh   Ú'test_concat_extension_arrays_copy_falser•   s      €r   r˜   z7TestSparseArray.test_concat_extension_arrays_copy_falseÂ   s    ø€ Ø×Ñ Ô%Ü‰Ñ7¸¸hÕGr   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rr   rh   Ú
test_alignr•   s      €r   rš   zTestSparseArray.test_alignÆ   ó    ø€ Ø×Ñ Ô%Ü‰Ñ˜4 Õ*r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rr   rh   Útest_align_framer•   s      €r   r�   z TestSparseArray.test_align_frameÊ   s    ø€ Ø×Ñ Ô%Ü‰Ñ   xÕ0r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rr   rh   Útest_align_series_framer•   s      €r   rŸ   z'TestSparseArray.test_align_series_frameÎ   s    ø€ Ø×Ñ Ô%Ü‰Ñ'¨¨hÕ7r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rr   rh   Ú
test_merger•   s      €r   r¡   zTestSparseArray.test_mergeÒ   r›   r   c                 óð  — t        j                  |t        t        |«      «      D �cg c]  }d|z  ‘Œ	 c}¬«      }t	        j
                  |j                  j                  «      rHt	        j
                  |j                  d«      «      r"t	        j
                  |j                  d   «      s%J ‚|j                  d«      |j                  d   k(  sJ ‚|j                  d«      |j                  d   k(  sJ ‚y c c}w )Nr	   )ÚindexrE   r   )
r:   ÚSeriesr/   Úlenr   r   Úvaluesr   ÚgetÚiloc)rL   r   ÚiÚsers       r   Útest_getzTestSparseArray.test_getÖ   s¯   € Ü�i‰i˜´E¼#¸d»)Ó4DÖ$E¨q Q¨£UÒ$EÔFˆÜ�8‰8�C—J‘J×)Ñ)Ô*Ü—8‘8˜CŸG™G A›JÔ'¬B¯H©H°S·X±X¸a±[Ô,AÐAÐAà—7‘7˜1“: §¡¨!¡Ò,Ð,Ð,Ø�w‰w�q‹z˜SŸX™X a™[Ò(Ð(Ñ(ùò %Fs   §C3
c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rr   rh   Útest_reindexr•   s      €r   r­   zTestSparseArray.test_reindexÞ   s    ø€ Ø×Ñ Ô%Ü‰Ñ˜T 8Õ,r   c                 óê  — t        |«      }t        t        t        j                  |j
                  j                  «      «      }t        ddg|¬«      }|j	                  «       }t        j                  ||«       |j                  d«      }t        t        t        j                  |j
                  j                  «      «      }t        ddgd|¬«      }t        j                  |j	                  «       |«       y )NTF©r   r   ©r   r   )r   r   Úboolr:   r;   r   r   r�   Úassert_sp_array_equalÚfillnaÚassert_equal)rL   r,   ÚsarrÚexpected_dtyper‰   r‡   s         r   Ú	test_isnazTestSparseArray.test_isnaâ   s®   € Ü˜<Ó(ˆÜ$¤T¬2¯7©7°<×3EÑ3E×3PÑ3PÓ+QÓRˆÜ  e˜}°NÔCˆØ—‘“ˆÜ
× Ñ  ¨Ô2ð �{‰{˜1‹~ˆÜ$¤T¬2¯7©7°<×3EÑ3E×3PÑ3PÓ+QÓRˆÜ  u˜~¸%À~ÔVˆÜ
�‰˜Ÿ	™	› XÕ.r   c                 ó”   •— t         t        f}t        j                  |d¬«      5  t        ‰| �  |«       d d d «       y # 1 sw Y   y xY w©NF)Úcheck_stacklevel)r   ÚFutureWarningr�   Úassert_produces_warningrh   Útest_fillna_limit_backfill)rL   r,   Úwarnsrl   s      €r   r½   z*TestSparseArray.test_fillna_limit_backfillï   s?   ø€ Ü#¤]Ð3ˆÜ×'Ñ'¨ÀÔFñ 	=Ü‰GÑ.¨|Ô<÷	=÷ 	=ñ 	=ús	   ¥>¾Ac                 óÀ   •— t        j                  |j                  «      r/|j                  t        j
                  j                  d¬«      «       t        ‰| �!  |«       y )Nz'returns array with different fill valuerZ   )	r   r   r   Úapplymarkerrb   rc   rd   rh   Útest_fillna_no_op_returns_copy)rL   r   r#   rl   s      €r   rÁ   z.TestSparseArray.test_fillna_no_op_returns_copyô   sF   ø€ Ü�8‰8�D—O‘OÔ$Ø×ÑÜ—‘×!Ñ!Ð)RÐ!ÓSôô 	‰Ñ.¨tÕ4r   ÚUnsupportedrZ   c                 ó"   •— t         ‰| �  «        y r   )rh   Útest_fillna_series©rL   r,   rl   s     €r   rÄ   z"TestSparseArray.test_fillna_seriesû   s   ø€ ô
 	‰Ñ"Õ$r   c                 ój  — |d   }t        j                  |ddgdœ«      j                  |«      }t        j                  |j                  «      rt        |j                  |«      }n|j                  }t        j                  |j                  ||g|¬«      ddgdœ«      }t        j                  ||«       y )Nr   r	   )rt   rŒ   r¯   )
r:   r~   r³   r;   r   r   r   Ú_from_sequencer�   r‚   )rL   r,   r   r‡   r   r‰   s         r   Útest_fillna_framez!TestSparseArray.test_fillna_frame  s¡   € à! !‘_ˆ
ä—‘ L¸¸1°vÑ>Ó?×FÑFÀzÓRˆä�7‰7�<×*Ñ*Ô+Ü × 2Ñ 2°JÓ?‰Eà ×&Ñ&ˆEä—<‘<à!×0Ñ0°*¸jÐ1IÐQVÐ0ÓWØ˜�Vñó
ˆô 	×Ñ˜f hÕ/r   zSparse[bool]c                 óð  — |j                  ddg«      }t        j                  d|id¬«      }|j                  d   }|j	                  |«      }t        |j                  d«      r^|r.|j                  j                  |j                  j                  u s0J ‚|j                  j                  |j                  j                  usJ ‚|j                  j                  j                  «       |j                  «       u sJ ‚y )Nr   rt   F©Úcopy)r   r   Úblocks)Útaker:   r~   r¨   r³   ÚhasattrÚ_mgrr¦   r   rt   Ú_valuesÚto_dense)rL   r,   Úusing_copy_on_writeÚarrÚdfÚ
filled_valr‡   s          r   Útest_fillna_copy_framez&TestSparseArray.test_fillna_copy_frame  s»   € Ø×Ñ  A Ó'ˆÜ�\‰\˜3 ˜*¨5Ô1ˆà—W‘W˜T‘]ˆ
Ø—‘˜:Ó&ˆä�2—7‘7˜HÔ%Ù"Ø—y‘y—~‘~¨¯©×);Ñ);Ñ;Ð;Ð;à—y‘y—~‘~¨V¯]©]×-?Ñ-?Ñ?Ð?Ð?Ø�t‰t�|‰|×$Ñ$Ó&¨#¯,©,«.Ñ8Ð8Ñ8r   c                 óH  — |j                  ddg«      }t        j                  |d¬«      }|d   }|j                  |«      }|r|j                  |j                  u sJ ‚|j                  |j                  usJ ‚|j                  j                  «       |j                  «       u sJ ‚y )Nr   FrÊ   r   )rÍ   r:   r¤   r³   rÐ   rÑ   )rL   r,   rÒ   rÓ   rª   rÕ   r‡   s          r   Útest_fillna_copy_seriesz'TestSparseArray.test_fillna_copy_series&  s�   € Ø×Ñ  A Ó'ˆÜ�i‰i˜ %Ô(ˆà˜‘Vˆ
Ø—‘˜JÓ'ˆáØ—;‘; &§.¡.Ñ0Ð0Ð0ð —;‘; f§n¡nÑ4Ð4Ð4Ø�{‰{×#Ñ#Ó%¨¯©«Ñ7Ð7Ñ7r   zNot Applicablec                 ó$   •— t         ‰| �  |«       y r   )rh   Útest_fillna_length_mismatchrÅ   s     €r   rÚ   z+TestSparseArray.test_fillna_length_mismatch4  s   ø€ ä‰Ñ+¨LÕ9r   c                 ó¼  — |d   |d   k7  sJ ‚t        |«      }|d d \  }}t        j                  |j                  ||||g|j                  ¬«      «      }t        j                  g d¢«      }|j                  |«      }t        dd«      }	t        j                  |j                  ||||g|	¬«      «      }
t        j                  ||
«       |j                  ||||g|j                  ¬«      }t        j                  g d¢«      }|j                  ||«      }t        j                  |j                  ||||g|j                  ¬«      «      }
t        j                  ||
«       y )	Nr   r   r	   r¯   )TTFFÚfloatg        )TFTT)Útyper:   r¤   rÇ   r   r   ÚarrayÚwherer   r�   Úassert_series_equal)rL   r   r–   Úclsru   rv   rª   Úcondr‡   Ú	new_dtyper‰   Úothers               r   Útest_where_seriesz!TestSparseArray.test_where_series8  s8  € Ø�A‰w˜$˜q™'Ò!Ð!Ð!Ü�4‹jˆØ�B�Qˆx‰ˆˆ1ä�i‰i˜×*Ñ*¨A¨q°!°Q¨<¸t¿z¹zÐ*ÓJÓKˆä�x‰xÒ2Ó3ˆØ—‘˜4“ˆä ¨Ó-ˆ	Ü—9‘9Ø×Ñ  1 h°Ð9ÀÐÓKó
ˆô 	×Ñ˜v xÔ0à×"Ñ" A q¨!¨Q <°t·z±zÐ"ÓBˆÜ�x‰xÒ1Ó2ˆØ—‘˜4 Ó'ˆÜ—9‘9˜S×/Ñ/°°A°q¸!°ÀDÇJÁJÐ/ÓOÓPˆÜ
×Ñ˜v xÕ0r   c                 ó†   •— t        j                  t        d¬«      5  t        ‰| �  ||«       d d d «       y # 1 sw Y   y xY wr¹   )r�   r¼   r   rh   Útest_searchsorted)rL   r5   Ú	as_seriesrl   s      €r   rç   z!TestSparseArray.test_searchsortedN  s=   ø€ Ü×'Ñ'Ô(:ÈUÔSñ 	CÜ‰GÑ%Ð&6¸	ÔB÷	C÷ 	Cñ 	Cús	   �7·A c                 ó    — |j                  d«      }|j                  d   |j                  d<   |j                  d   |j                  d   k7  sJ ‚y )Nr   r   )ÚshiftÚ_sparse_values)rL   r   r‡   s      r   Útest_shift_0_periodsz$TestSparseArray.test_shift_0_periodsR  sN   € à—‘˜A“ˆà!%×!4Ñ!4°QÑ!7ˆ×Ñ˜AÑØ×$Ñ$ QÑ'¨6×+@Ñ+@ÀÑ+CÒCÐCÑCr   ÚmethodÚargmaxÚargminc                 óJ   •— | j                  |«       t        ‰| �	  |||«       y r   )rr   rh   Útest_argmin_argmax_all_na)rL   rí   r   r–   rl   s       €r   rñ   z)TestSparseArray.test_argmin_argmax_all_naY  s$   ø€ ð 	×Ñ Ô%Ü‰Ñ)¨&°$¸ÕAr   Úboxc                 óL   •— | j                  |«       t        ‰| �	  ||||«       y r   )rr   rh   Útest_equals)rL   r   r–   rè   rò   rl   s        €r   rô   zTestSparseArray.test_equals_  s&   ø€ ð 	×Ñ Ô%Ü‰Ñ˜D (¨I°sÕ;r   c                 ó$   •— t         ‰| �  |«       y r   )rh   Ú&test_equals_same_data_different_object)rL   r   rl   s     €r   rö   z6TestSparseArray.test_equals_same_data_different_objecte  s   ø€ ä‰Ñ6°tÕ<r   zfunc, na_action, expectedc                 ó   — | S r   r   ©rˆ   s    r   r>   zTestSparseArray.<lambda>l  ó   € �q€ r   Ng      ð?c                 ó   — | S r   r   rø   s    r   r>   zTestSparseArray.<lambda>m  rù   r   Úignorez1.0r*   r!   c                 óŒ   — t        dt        j                  g«      }|j                  ||¬«      }t	        j
                  ||«       y )Nr   ©Ú	na_action)r   r   r*   Úmapr�   Úassert_extension_array_equal)rL   Úfuncrþ   r‰   r   r‡   s         r   Útest_mapzTestSparseArray.test_mapi  s8   € ô ˜AœrŸv™v˜;Ó'ˆØ—‘˜$¨)�Ó4ˆÜ
×'Ñ'¨°Õ9r   rþ   c                 ó�   — d}t        j                  t        |¬«      5  |j                  d„ |¬«       d d d «       y # 1 sw Y   y xY w)Nz-fill value in the sparse values not supported)Úmatchc                 ó"   — t         j                  S r   )r   r*   rø   s    r   r>   z1TestSparseArray.test_map_raises.<locals>.<lambda>}  s
   € œrŸv™v€ r   rý   )rb   ÚraisesÚ
ValueErrorrÿ   )rL   r   rþ   Úmsgs       r   Útest_map_raiseszTestSparseArray.test_map_raisesx  s=   € ð >ˆÜ�]‰]œ:¨SÔ1ñ 	<Ø�H‰HÑ%°ˆHÔ;÷	<÷ 	<ñ 	<ús	   ž<¼Azno sparse StringDtype)r  r[   c                 ó$   •— t         ‰| �  |«       y r   )rh   Útest_astype_string)rL   r   Únullable_string_dtyperl   s      €r   r  z"TestSparseArray.test_astype_string  s   ø€ ô 	‰Ñ" 4Õ(r   c                 óN   — |j                   dk(  rt        j                  d«       y y )Nr   z=Incorrected expected from Series.combine and tested elsewhere)r   rb   rp   rq   s     r   Ú_skip_if_different_combinez*TestSparseArray._skip_if_different_combineŠ  s"   € Ø�?‰?˜aÒô �K‰KÐWÕXð	  r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )r  rh   Útest_arith_series_with_scalar©rL   r   Úall_arithmetic_operatorsrl   s      €r   r  z-TestSparseArray.test_arith_series_with_scalar‘  s!   ø€ Ø×'Ñ'¨Ô-Ü‰Ñ-¨dÐ4LÕMr   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )r  rh   Útest_arith_series_with_arrayr  s      €r   r  z,TestSparseArray.test_arith_series_with_array•  s!   ø€ Ø×'Ñ'¨Ô-Ü‰Ñ,¨TÐ3KÕLr   c                 óâ   •— |j                   j                  dk7  rnD|j                  d«      dvr1t        j                  j                  d¬«      }|j                  |«       t        ‰| �!  ||«       y )Nr   r1   )ÚmulÚrmulÚfloordivÚ	rfloordivÚpowÚmodÚrmodz result dtype.fill_value mismatchrZ   )	r   r   Ústriprb   rc   rd   rÀ   rh   Útest_arith_frame_with_scalar)rL   r   r  r#   rc   rl   s        €r   r  z,TestSparseArray.test_arith_frame_with_scalar™  sh   ø€ Ø�:‰:× Ñ  AÒ%ØØ%×+Ñ+¨CÓ0ð 9
ñ 
ô —;‘;×$Ñ$Ð,NÐ$ÓOˆDØ×Ñ Ô%Ü‰Ñ,¨TÐ3KÕLr   rª   rF   c                 óê  — |} |||«      }t        |t        j                  «      r8t        |t        j                  «      sJ ‚t        |j                  t        «      sJ ‚t        |t
        «      sJ ‚|j                  j                  t        j                  k(  sJ ‚t        |t        j                  «      rl ||j                  |j                  j                  «      }t         ||j                  «       t        j                  |«      «      |t        j                  ¬«      }n�t        j                   |t        j                  |j                  «      t        j                  |«      «      «      }t         ||j                  «       t        j                  |«      «      |t        j                  ¬«      }t        |t        j                  «      rt        j                  |«      }t        j                  ||«       y )Nr°   )Ú
isinstancer:   r¤   r   r   r   Úsubtyper   Úbool_r   rÐ   rÑ   rz   Úallr�   r´   )	rL   rª   rF   Úcomparison_oprä   Úopr‡   r   r‰   s	            r   Ú_compare_otherzTestSparseArray._compare_other©  sf  € ð ˆáÐ$ eÓ,ˆÜ�eœRŸY™YÔ'Ü˜f¤b§i¡iÔ0Ð0Ð0Ü˜fŸl™l¬KÔ8Ð8Ð8ä˜f¤kÔ2Ð2Ð2Ø�|‰|×#Ñ#¤r§x¡xÒ/Ð/Ð/ä�eœRŸY™YÔ'ÙÐ,×7Ñ7¸¿¹×9QÑ9QÓRˆJÜ"ÙÐ#×,Ñ,Ó.´·
±
¸5Ó0AÓBØ%Ü—h‘hô‰Hô Ÿ™Ù”2—:‘:Ð.×9Ñ9Ó:¼B¿J¹JÀuÓ<MÓNóˆJô #ÙÐ#×,Ñ,Ó.´·
±
¸5Ó0AÓBØ%Ü—h‘hôˆHô
 �eœRŸY™YÔ'ä—y‘y Ó*ˆHÜ
�‰˜ Õ)r   c                 óê   — t        j                  |«      }| j                  |||d«       | j                  |||d«       | j                  |||d«       | j                  |||t        j                  «       y )Nr   r   rD   )r:   r¤   r&  r   r*   )rL   rF   r$  rª   s       r   Útest_scalarzTestSparseArray.test_scalarÍ  si   € Ü�i‰iÐ(Ó)ˆØ×Ñ˜CÐ!1°=À!ÔDØ×Ñ˜CÐ!1°=À!ÔDØ×Ñ˜CÐ!1°=À"ÔEØ×Ñ˜CÐ!1°=Ä"Ç&Á&ÕIr   c                 ó4  — |j                   j                  dk(  r?|j                  dv r1t        j                  j                  d¬«      }|j                  |«       t        j                  ddd«      }t        j                  |«      }| j                  ||||«       y )Nr   )ÚeqÚgeÚleúWrong fill_valuerZ   éüÿÿÿé   é
   )r   r   Ú__name__rb   rc   rd   rÀ   r   Úlinspacer:   r¤   r&  )rL   rF   r$  r#   rc   rÓ   rª   s          r   Ú
test_arrayzTestSparseArray.test_arrayÔ  s‡   € Ø×!Ñ!×,Ñ,°Ò1°m×6LÑ6Lð Q
ñ 7
ô
 —;‘;×$Ñ$Ð,>Ð$Ó?ˆDØ×Ñ Ô%ä�k‰k˜"˜a Ó$ˆÜ�i‰iÐ(Ó)ˆØ×Ñ˜CÐ!1°=À#ÕFr   c                 óD  — |j                   j                  dk(  r@|j                  dk7  r1t        j                  j                  d¬«      }|j                  |«       t        j                  |«      }|dz   }| j                  ||||«       |dz  }| j                  ||||«       y )Nr   Úgtr-  rZ   r   r	   )
r   r   r1  rb   rc   rd   rÀ   r:   r¤   r&  )rL   rF   r$  r#   rc   rª   rÓ   s          r   Útest_sparse_arrayz!TestSparseArray.test_sparse_arrayá  s—   € Ø×!Ñ!×,Ñ,°Ò1°m×6LÑ6LÐPTÒ6TÜ—;‘;×$Ñ$Ð,>Ð$Ó?ˆDØ×Ñ Ô%ä�i‰iÐ(Ó)ˆØ Ñ"ˆØ×Ñ˜CÐ!1°=À#ÔFØ Ñ"ˆØ×Ñ˜CÐ!1°=À#ÕFr   zDifferent reprc                 ó&   •— t         ‰| �  ||«       y r   )rh   Útest_array_repr)rL   r   r   rl   s      €r   r8  zTestSparseArray.test_array_reprì  s   ø€ ä‰Ñ  dÕ+r   zresult does not match expectedÚas_indexc                 ó&   •— t         ‰| �  ||«       y r   )rh   Útest_groupby_extension_agg)rL   r9  rA   rl   s      €r   r;  z*TestSparseArray.test_groupby_extension_aggð  s   ø€ ô 	‰Ñ*¨8Ð5FÕGr   )Dr1  Ú
__module__Ú__qualname__Ústrr±   rN   rb   rc   Úparametrizeri   rn   rr   rŠ   Úfilterwarningsr:   Ú
MultiIndexÚfrom_tuplesr’   r”   r˜   rš   r�   rŸ   r¡   r«   r­   r·   r½   rÁ   rd   rÄ   rÈ   Ú_combine_le_expected_dtyperÖ   rØ   rÚ   rå   rç   rì   rñ   Úfails_arm_wheelsrÞ   r¤   r~   rô   rö   r   r   r*   r  r	  Ú	TypeErrorr  Úseries_scalar_excÚframe_scalar_excÚ
divmod_excÚseries_array_excr  r  r  r  r&  r(  r3  r6  r8  r;  Ú__classcell__)rl   s   @r   rH   rH   e   s  ø„ ð°ð ¸ó ð ‡[�[×Ñ˜X¨¨e }Ó5óQó 6ðQð0 ‡[�[×Ñ˜X¨¨e }Ó5óHó 6ðHò09ò0ð ‡[�[×ÑØCóð ‡[�[×ÑØà�#ˆJØ�M‰M×%Ñ%Ø˜ZÐ(°¸'Ð0Bð &ó ð	
óð ‡[�[×Ñ˜^¨d°E¨]Ó;ó8ó <óóð8ô4ôHô+ô1ô8ô+ò)ô-ò/ô=ô
5ð ‡[�[×Ñ˜mÐÓ,ó%ó -ð%ò0ð( "0Ðò9ò8ð ‡[�[×ÑÐ.ÐÓ/ó:ó 0ð:ò1ô,CòDð ‡[�[×Ñ˜X¨°(Ð';Ó<óBó =ðBð
 ‡[�[×!Ñ!Ø‡[�[×Ñ˜U R§X¡X¨r¯y©y¸"¿,¹,Ð$GÓHó<ó Ió "ð<ð ‡[�[×!Ñ!ó=ó "ð=ð ‡[�[×ÑØ#á˜$¡¨S°"·&±&¨MÓ :Ð;Ù˜(¡K°°b·f±f°Ó$>Ð?Ø�$™ U¨E N¸uÔEÐFØ�(™K¨°·±¨Ó8Ð9ð		
óñ:óð:ð ‡[�[×Ñ˜[¨4°Ð*:Ó;ñ<ó <ð<ð ‡[�[×Ñ˜iÐ0GÐÓHó)ó Ið)ð
 ÐØÐØ€JØÐòYôNôMôMð "*Ø—9‘9ð"*Ø0;ó"*ðHJ¨Kó JðG¨;ó Gð	G°+ó 	Gð ‡[�[×ÑÐ.ÐÓ/ó,ó 0ð,ð ‡[�[×ÑÐ>ÐÓ?Ø‡[�[×Ñ˜Z¨$°¨Ó7óHó 8ó @ôHr   rH   c                 ó4   — | j                  «       t        u sJ ‚y r   )Úconstruct_array_typer   r¯   s    r   Útest_array_type_with_argrM  ö  s   € Ø×%Ñ%Ó'¬;Ñ6Ð6Ñ6r   ) Ú__doc__Únumpyr   rb   Úpandas.errorsr   Úpandasr:   r   Úpandas._testingÚ_testingr�   Úpandas.arraysr   Úpandas.tests.extensionr   r   Úfixturer   r*   r   r'   r,   r3   r5   r7   r?   rA   rF   ÚExtensionTestsrH   rM  r   r   r   ú<module>rX     s¦  ðñó  Û å ,ã Ý Ý Ý %Ý 'ò
ð ‡�ñó ðð €‡�˜˜2Ÿ6™6�{Ô#ñó $ðð ‡�ñ)ó ð)ð €‡�˜˜2Ÿ6™6�{Ô#ñ>ó $ð>ð
 €‡�˜˜2Ÿ6™6�{Ô#ñó $ðð €‡�˜˜2Ÿ6™6�{Ô#ñ<ó $ð<ð €‡�˜˜2Ÿ6™6�{Ô#ñAó $ðAð ‡�ñ@ó ð@ð €‡�˜˜2Ÿ6™6�{Ô#ñUó $ðUð €‡�˜˜2Ÿ6™6�{Ô#ñXó $ðXôNH�d×)Ñ)ô NHób7r   