Ë
    u™ãj†F  ã                   óò  — d Z 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ef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j6                  «      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)ÚSparseArray)ÚbaseÚnc                 ó  — t         j                  j                  d«      }t        j                  | «      r|j	                  |¬«      }n1|j                  dd|t        ¬«      }|d   |d   k(  r|dxx   dz  cc<   | |dd d…<   |S )Né   )Úsizeé   éd   )r   Údtyper   é   )ÚnpÚrandomÚdefault_rngÚisnanÚuniformÚintegersÚint)Ú
fill_valuer   ÚrngÚdatas       úm/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/extension/test_sparse.pyÚ	make_datar      sy   € Ü
�)‰)×
Ñ
 Ó
"€CÜ	‡x�x�
ÔØ�{‰{ ˆ{Ó"‰à�|‰|˜A˜s¨´#ˆ|Ó6ˆØ�‰7�d˜1‘gÒØ�‹G�q‰L‹Gà€DˆˆˆAˆ�JØ€Kó    c                  ó*   — t        j                  «       S ©N)ÚpdÚSparseDtype© r   r   r   r   '   s   € ä�>‰>ÓÐr   )Úparamsc                 ó\   — t        t        | j                  d«      | j                  ¬«      }|S )z)Length-10 SparseArray for semantics test.é
   ©r   )r   r   Úparam)ÚrequestÚress     r   r   r   ,   s$   € ô ”i §¡¨rÓ2¸w¿}¹}Ô
M€CØ€Jr   c                  óD   — t        t        j                  d«      dz  «      S )Nr!   r   )r   r   Úonesr   r   r   Údata_for_twosr(   3   s   € ä”r—w‘w˜r“{ Q‘Ó'Ð'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-   8   s   € ô œŸ™ �{¨w¯}©}Ô=Ð=r   c                 ó   ‡ — ˆ fd„}|S )z1Return different versions of data for count timesc              3   óˆ   •K  — t        | «      D ]/  }t        t        ‰j                  d«      ‰j                  ¬«      –— Œ1 y ­w)Nr!   r"   )Úranger   r   r#   )ÚcountÚ_r$   s     €r   Úgenzdata_repeated.<locals>.genB   s8   øè ø€ Ü�u“ò 	VˆAÜœi¨¯©°rÓ:ÀwÇ}Á}ÔUÓUñ	Vùs   ƒ?Ar   )r$   r3   s   ` r   Údata_repeatedr4   >   s   ø€ ôVð €Jr   c                 ó4   — t        g d¢| j                  ¬«      S )N)r   r   r	   r"   )r   r#   r,   s    r   Údata_for_sortingr6   I   s   € ä’y¨W¯]©]Ô;Ð;r   c                 óR   — t        dt        j                  dg| j                  ¬«      S )Nr   r	   r"   r*   r,   s    r   Údata_missing_for_sortingr8   N   s   € ä˜œ2Ÿ6™6 1�~°'·-±-Ô@Ð@r   c                  ó   — d„ S )Nc                 óZ   — t        j                  | «      xr t        j                  |«      S r   )r   Úisna)ÚleftÚrights     r   ú<lambda>zna_cmp.<locals>.<lambda>U   s   € œrŸw™w t›}Ò?´·±¸³€ r   r   r   r   r   Úna_cmpr?   S   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   X   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fd„Zdedefd„Zdej                  dedefd„Z	dede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d!„ Zej                  j=                  d"¬#«      ˆ fd$„«       Zd%„ Z ˆ fd&„Z!ˆ fd'„Z"d(Z#d)„ Z$d*„ Z%ej                  j=                  d+¬#«      ˆ fd,„«       Z&ej                  j=                  d-¬#«      ˆ fd.„«       Z'd/„ Z(ˆ fd0„Z)d1„ Z*d2„ Z+ej                  j!                  d3d4d5g«      d6„ «       Z,d7„ Z-ej                  j!                  d8d9d:g«      ˆ fd;„«       Z.ej                  j!                  d<ej^                  ej                  ej`                  g«      ˆ fd=„«       Z1ej                  j!                  d>d?„ d@ e2dAe3jh                  g«      fdB„ dC e2dAe3jh                  g«      fed@ e2dDdEgdE¬F«      fedC e2dDe3jh                  g«      fg«      dG„ «       Z5ej                  j!                  dHd@dCg«      dI„ «       Z6ej                  j=                  e7dJ¬K«      ˆ fdL„«       Z8d@Z9d@Z:d@Z;d@Z<dM„ Z=ˆ fdN„Z>ˆ fdO„Z?ˆ fdP„Z@dej                  dQe2fdR„ZAdQe2fdS„ZBdQe2fdT„ZCdQe2fdU„ZDej                  j=                  dV¬#«      ˆ fdW„«       ZEej                  j=                  dX¬#«      ej                  j!                  dYddg«      ˆ fdZ„«       «       ZFˆ xZGS )[ÚTestSparseArrayÚreturnc                  ó   — y)NFr   ©Úselfr   s     r   Ú_honors_copy_keywordz$TestSparseArray._honors_copy_keywordc   s   € Ør   Úop_nameÚskipnac                 ób   — |dv r t        j                  d|j                  «      S |j                  S )N)ÚmeanÚmedianÚvarÚstdÚsemÚskewÚkurtÚfloat64)r   r   r   r   )rL   ÚarrrN   rO   s       r   Ú_get_expected_reduction_dtypez-TestSparseArray._get_expected_reduction_dtypef   s*   € ØÐMÑMä—>‘> )¨S¯^©^Ó<Ð<Ø�y‰yÐr   Úserc                  ó   — y©NTr   )rL   r[   rN   s      r   Ú_supports_accumulationz&TestSparseArray._supports_accumulationl   ó   € Ør   c                  ó   — yr]   r   )rL   ÚobjrN   s      r   Ú_supports_reductionz#TestSparseArray._supports_reductiono   r_   r   c                 ó~   — |j                   t        j                  t        d«      k(  rt	        j
                  d«       y y )Nr   zCan't store nan in int array.)r   r   r   r   ÚpytestÚskiprK   s     r   Ú_check_unsupportedz"TestSparseArray._check_unsupportedr   s+   € Ø�:‰:œŸ™¬¨QÓ/Ò/Ü�K‰KÐ7Õ8ð 0r   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   Ú	DataFramero   ÚconcatÚapplyÚtmÚassert_frame_equal)	rL   r   Údf1Údf2Údf3ÚdfsÚresultÚxÚexpecteds	            r   Útest_concat_mixed_dtypesz(TestSparseArray.test_concat_mixed_dtypesv   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Úcolumnsrh   ÚB)rh   ri   )rh   rj   ÚouterÚinner)ÚnamesÚfuture_stackTFc                 ó(   •— t         ‰| �  |||«       y r   )ÚsuperÚ
test_stack)rL   r   r   r„   Ú	__class__s       €r   r‡   zTestSparseArray.test_stack…   s   ø€ ô 	‰Ñ˜4 ¨,Õ7r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rf   r†   Útest_concat_columns©rL   r   Úna_valuerˆ   s      €r   rŠ   z#TestSparseArray.test_concat_columns•   s    ø€ Ø×Ñ Ô%Ü‰Ñ# D¨(Õ3r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rf   r†   Ú'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   )rf   r†   Ú
test_alignr‹   s      €r   r�   zTestSparseArray.test_align�   ó    ø€ Ø×Ñ Ô%Ü‰Ñ˜4 Õ*r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rf   r†   Útest_align_framer‹   s      €r   r“   z TestSparseArray.test_align_frame¡   s    ø€ Ø×Ñ Ô%Ü‰Ñ   xÕ0r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rf   r†   Útest_align_series_framer‹   s      €r   r•   z'TestSparseArray.test_align_series_frame¥   s    ø€ Ø×Ñ Ô%Ü‰Ñ'¨¨hÕ7r   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )rf   r†   Ú
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   ÚSeriesr0   Úlenr   r   Úvaluesr   ÚgetÚiloc)rL   r   Úir[   s       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   )rf   r†   Útest_reindexr‹   s      €r   r¢   zTestSparseArray.test_reindexµ   s    ø€ Ø×Ñ Ô%Ü‰Ñ˜T 8Õ,r   c                 ó  — t        |«      }t        j                  t        t        j                  |j
                  j                  «      «      }t        ddg|¬«      }|j	                  «       }t        j                  ||«       |j                  d«      }t        j                  t        t        j                  |j
                  j                  «      «      }t        ddgd|¬«      }t        j                  |j	                  «       |«       y )NTF©r   r   ©r   r   )r   r   r   Úboolr;   r   r   ru   Úassert_sp_array_equalÚfillnaÚassert_equal)rL   r-   ÚsarrÚexpected_dtyper}   r{   s         r   Ú	test_isnazTestSparseArray.test_isna¹   s¶   € Ü˜<Ó(ˆÜŸ™¬¬b¯g©g°l×6HÑ6H×6SÑ6SÓ.TÓUˆÜ  e˜}°NÔCˆØ—‘“ˆÜ
× Ñ  ¨Ô2ð �{‰{˜1‹~ˆÜŸ™¬¬b¯g©g°l×6HÑ6H×6SÑ6SÓ.TÓUˆÜ  u˜~¸%À~ÔVˆÜ
�‰˜Ÿ	™	› XÕ.r   c                 ó  — ||j                  «           }|d   }|j                  |«      }||usJ ‚t        j                   |j                  j                  «      rl|j                  t        j
                  |j                  j                  |«      k(  sJ ‚t        j                  |j                  «       |j                  «       «       nt        j                  ||«       |j                  d¬«      }||usJ ‚t        j                  ||«       y )Nr   Úbackfill)Úmethod)r;   r¨   r   r   r   r   Úsubtyperu   Úassert_numpy_array_equalÚto_denseÚassert_extension_array_equalÚ_pad_or_backfill)rL   r   Úvalidr{   s       r   Útest_fillna_no_op_returns_copyz.TestSparseArray.test_fillna_no_op_returns_copyÆ   sÖ   € Ø�T—Y‘Y“[�LÑ!ˆà�Q‘ˆØ—‘˜UÓ#ˆØ˜TÑ!Ð!Ð!Ü�7‰7�4—:‘:×(Ñ(Ô)ð —<‘<¤2§>¡>°$·*±*×2DÑ2DÀeÓ#LÒLÐLÐLÜ×'Ñ'¨¯©Ó(9¸4¿=¹=»?ÕKä×+Ñ+¨F°DÔ9à×&Ñ&¨jÐ&Ó9ˆØ˜TÑ!Ð!Ð!Ü
×'Ñ'¨°Õ5r   ÚUnsupported©Úreasonc                 ó"   •— t         ‰| �  «        y r   )r†   Útest_fillna_series©rL   r-   rˆ   s     €r   r»   z"TestSparseArray.test_fillna_seriesØ   s   ø€ ô
 	‰Ñ"Õ$r   c                 ó~  — |d   }t        j                  |ddgdœ«      j                  |«      }t        j                  |j                  «      r!t        j
                  |j                  |«      }n|j                  }t        j                  |j                  ||g|¬«      ddgdœ«      }t        j                  ||«       y )Nr	   r   )rh   r€   r¤   )
r   rr   r¨   r;   r   r   r   Ú_from_sequenceru   rv   )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�<×*Ñ*Ô+Ü—N‘N <×#5Ñ#5°zÓB‰Eà ×&Ñ&ˆEä—<‘<à!×0Ñ0°*¸jÐ1IÐQVÐ0ÓWØ˜�Vñó
ˆô 	×Ñ˜f hÕ/r   c                 ó„   •— t        j                  t        d¬«      5  t        ‰| �  |«       d d d «       y # 1 sw Y   y xY w©Nzlimit must be None©Úmatch©rd   ÚraisesÚ
ValueErrorr†   Útest_fillna_limit_framer¼   s     €r   rÇ   z'TestSparseArray.test_fillna_limit_frameó   ó4   ø€ ä�]‰]œ:Ð-AÔBñ 	:Ü‰GÑ+¨LÔ9÷	:÷ 	:ñ 	:úó   �6¶?c                 ó„   •— t        j                  t        d¬«      5  t        ‰| �  |«       d d d «       y # 1 sw Y   y xY wrÁ   rÄ   r¼   s     €r   Útest_fillna_limit_seriesz(TestSparseArray.test_fillna_limit_seriesø   rÈ   rÉ   zSparse[bool]c                 ó�  — |j                  ddg«      }t        j                  d|id¬«      }|j                  d   }|j	                  |«      }t        |j                  d«      r.|j                  j                  |j                  j                  u sJ ‚|j                  j                  j                  «       |j                  «       u sJ ‚y )Nr	   rh   F©Úcopy)r   r   Úblocks)Útaker   rr   rž   r¨   ÚhasattrÚ_mgrrœ   r   rh   Ú_valuesr²   )rL   r-   rY   Ú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Ô%Ø—9‘9—>‘> V§]¡]×%7Ñ%7Ñ7Ð7Ð7Ø�t‰t�|‰|×$Ñ$Ó&¨#¯,©,«.Ñ8Ð8Ñ8r   c                 ó  — |j                  ddg«      }t        j                  |d¬«      }|d   }|j                  |«      }|j                  |j                  u sJ ‚|j                  j                  «       |j                  «       u sJ ‚y )Nr	   FrÍ   r   )rÐ   r   rš   r¨   rÓ   r²   )rL   r-   rY   r[   rÕ   r{   s         r   Útest_fillna_copy_seriesz'TestSparseArray.test_fillna_copy_series
  st   € Ø×Ñ  A Ó'ˆÜ�i‰i˜ %Ô(ˆà˜‘Vˆ
Ø—‘˜JÓ'ˆà�{‰{˜fŸn™nÑ,Ð,Ð,Ø�{‰{×#Ñ#Ó%¨¯©«Ñ7Ð7Ñ7r   zNot Applicablec                 ó$   •— t         ‰| �  |«       y r   )r†   Útest_fillna_length_mismatchr¼   s     €r   rÚ   z+TestSparseArray.test_fillna_length_mismatch  s   ø€ ä‰Ñ+¨LÕ9r   z,SparseArray does not support item assignmentc                 ó$   •— t         ‰| �  |«       y r   )r†   Ú test_mask_listlike_other_inplace)rL   r   rˆ   s     €r   rÜ   z0TestSparseArray.test_mask_listlike_other_inplace  s   ø€ ä‰Ñ0°Õ6r   c                 óø  — |d   |d   k7  sJ ‚t        |«      }|d d \  }}t        j                  |j                  ||||g|j                  ¬«      «      }t        j                  g d¢«      }|j                  |«      }t        j                  d|j                  j                  «      }	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¤   )TTFFrX   )TFTT)Útyper   rš   r¾   r   r   ÚarrayÚwherer   r   ru   Úassert_series_equal)rL   r   rŒ   Úclsri   rj   r[   Úcondr{   Ú	new_dtyper}   Úothers               r   Útest_where_seriesz!TestSparseArray.test_where_series  sH  € Ø�A‰w˜$˜q™'Ò!Ð!Ð!Ü�4‹jˆØ�B�Qˆx‰ˆˆ1ä�i‰i˜×*Ñ*¨A¨q°!°Q¨<¸t¿z¹zÐ*ÓJÓKˆä�x‰xÒ2Ó3ˆØ—‘˜4“ˆô —N‘N 9¨d¯j©j×.CÑ.CÓDˆ	Ü—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                 ó„   •— d}t        j                  |d|¬«      5  t        ‰| �  ||«       d d d «       y # 1 sw Y   y xY w)Nz'searchsorted requires high memory usageF)Úcheck_stacklevelrÃ   )ru   Úassert_produces_warningr†   Útest_searchsorted)rL   Úperformance_warningr6   Ú	as_seriesÚmsgrˆ   s        €r   rê   z!TestSparseArray.test_searchsorted4  sH   ø€ Ø7ˆÜ×'Ñ'Ø°%¸sô
ñ 	Cô ‰GÑ%Ð&6¸	ÔB÷	C÷ 	Cñ 	Cús   œ6¶?c                 ó€   — t        j                  t        «      5  |j                  «        d d d «       y # 1 sw Y   y xY wr   ©rd   rÅ   ÚNotImplementedErrorÚsort©rL   r6   s     r   Útest_sort_inplacez!TestSparseArray.test_sort_inplace;  s0   € ä�]‰]Ô.Ó/ñ 	$Ø×!Ñ!Ô#÷	$÷ 	$ñ 	$ús   š4´=c                 ó„   — t        j                  t        «      5  |j                  d¬«       d d d «       y # 1 sw Y   y xY w)NF)Ú	ascendingrï   rò   s     r   Útest_sort_inplace_descendingz,TestSparseArray.test_sort_inplace_descending@  s5   € ä�]‰]Ô.Ó/ñ 	3Ø×!Ñ!¨EÐ!Ô2÷	3÷ 	3ñ 	3úó   š6¶?Úna_positionÚfirstÚlastc                 ó„   — t        j                  t        «      5  |j                  |¬«       d d d «       y # 1 sw Y   y xY w)N)rø   rï   )rL   r8   rø   s      r   Útest_sort_inplace_na_positionz-TestSparseArray.test_sort_inplace_na_positionE  s;   € ô �]‰]Ô.Ó/ñ 	CØ$×)Ñ)°kÐ)ÔB÷	C÷ 	Cñ 	Cúr÷   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_periodsK  sN   € à—‘˜A“ˆà!%×!4Ñ!4°QÑ!7ˆ×Ñ˜AÑØ×$Ñ$ QÑ'¨6×+@Ñ+@ÀÑ+CÒCÐCÑCr   r¯   ÚargmaxÚargminc                 óJ   •— | j                  |«       t        ‰| �	  |||«       y r   )rf   r†   Útest_argmin_argmax_all_na)rL   r¯   r   rŒ   rˆ   s       €r   r  z)TestSparseArray.test_argmin_argmax_all_naR  s$   ø€ ð 	×Ñ Ô%Ü‰Ñ)¨&°$¸ÕAr   Úboxc                 óL   •— | j                  |«       t        ‰| �	  ||||«       y r   )rf   r†   Útest_equals)rL   r   rŒ   rì   r  rˆ   s        €r   r  zTestSparseArray.test_equalsX  s$   ø€ à×Ñ Ô%Ü‰Ñ˜D (¨I°sÕ;r   zfunc, na_action, expectedc                 ó   — | S r   r   ©r|   s    r   r>   zTestSparseArray.<lambda>`  ó   € �q€ r   Ng      ð?c                 ó   — | S r   r   r	  s    r   r>   zTestSparseArray.<lambda>a  r
  r   Úignorez1.0r+   r"   c                 óŒ   — t        dt        j                  g«      }|j                  ||¬«      }t	        j
                  ||«       y )Nr	   ©Ú	na_action)r   r   r+   Úmapru   r³   )rL   Úfuncr  r}   r   r{   s         r   Útest_mapzTestSparseArray.test_map]  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 supportedrÂ   c                 ó"   — t         j                  S r   )r   r+   r	  s    r   r>   z1TestSparseArray.test_map_raises.<locals>.<lambda>q  s
   € œrŸv™v€ r   r  )rd   rÅ   rÆ   r  )rL   r   r  rí   s       r   Útest_map_raiseszTestSparseArray.test_map_raisesl  s=   € ð >ˆÜ�]‰]œ:¨SÔ1ñ 	<Ø�H‰HÑ%°ˆHÔ;÷	<÷ 	<ñ 	<ús	   ž<¼Azno sparse StringDtype)rÅ   r¹   c                 ó$   •— t         ‰| �  |«       y r   )r†   Útest_astype_string)rL   r   Únullable_string_dtyperˆ   s      €r   r  z"TestSparseArray.test_astype_strings  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   rd   re   rK   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  r†   Útest_arith_series_with_scalar©rL   r   Úall_arithmetic_operatorsrˆ   s      €r   r  z-TestSparseArray.test_arith_series_with_scalar…  s!   ø€ Ø×'Ñ'¨Ô-Ü‰Ñ-¨dÐ4LÕMr   c                 óH   •— | j                  |«       t        ‰| �	  ||«       y r   )r  r†   Ú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   r2   )ÚmulÚrmulÚfloordivÚ	rfloordivÚpowÚmodÚrmodz result dtype.fill_value mismatchr¸   )	r   r   Ústriprd   ÚmarkÚxfailÚapplymarkerr†   Útest_arith_frame_with_scalar)rL   r   r  r$   r*  rˆ   s        €r   r-  z,TestSparseArray.test_arith_frame_with_scalar�  sh   ø€ Ø�:‰:× Ñ  AÒ%ØØ%×+Ñ+¨CÓ0ð 9
ñ 
ô —;‘;×$Ñ$Ð,NÐ$ÓOˆDØ×Ñ Ô%Ü‰Ñ,¨TÐ3KÕLr   rF   c                 óþ  — |} |||«      }t        |t        j                  «      rBt        |t        j                  «      sJ ‚t        |j                  t        j                  «      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   r°   r   Úbool_r   rÓ   r²   rn   Úallru   r©   )	rL   r[   rF   Úcomparison_oprå   Úopr{   r   r}   s	            r   Ú_compare_otherzTestSparseArray._compare_other�  sj  € ð ˆáÐ$ eÓ,ˆÜ�eœRŸY™YÔ'Ü˜f¤b§i¡iÔ0Ð0Ð0Ü˜fŸl™l¬B¯N©NÔ;Ð;Ð;ä˜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š   r4  r   r+   )rL   rF   r2  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_valuer¸   éüÿÿÿé   r!   )r   r   Ú__name__rd   r*  r+  r,  r   Úlinspacer   rš   r4  )rL   rF   r2  r$   r*  rY   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;  r¸   r	   r   )
r   r   r>  rd   r*  r+  r,  r   rš   r4  )rL   rF   r2  r$   r*  r[   rY   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   )r†   Útest_array_repr)rL   r   r   rˆ   s      €r   rE  zTestSparseArray.test_array_reprà  s   ø€ ä‰Ñ  dÕ+r   zresult does not match expectedÚas_indexc                 ó&   •— t         ‰| �  ||«       y r   )r†   Útest_groupby_extension_agg)rL   rF  rA   rˆ   s      €r   rH  z*TestSparseArray.test_groupby_extension_aggä  s   ø€ ô 	‰Ñ*¨8Ð5FÕGr   )Hr>  Ú
__module__Ú__qualname__r¦   rM   ÚstrrZ   r   rš   r^   rb   rf   r~   rd   r*  ÚfilterwarningsÚparametrizeÚ
MultiIndexÚfrom_tuplesr‡   rŠ   rŽ   r�   r“   r•   r—   r    r¢   r¬   r¶   r+  r»   r¿   rÇ   rË   Ú_combine_le_expected_dtyperÖ   rØ   rÚ   rÜ   ræ   rê   ró   rö   rü   r   r  rß   rr   r  r   r   r+   r  r  Ú	TypeErrorr  Úseries_scalar_excÚframe_scalar_excÚ
divmod_excÚseries_array_excr  r  r   r-  r4  r6  r@  rC  rE  rH  Ú__classcell__)rˆ   s   @r   rH   rH   b   s!  ø„ ð¨Dó ð¸#ð Àtó ð¨"¯)©)ð ¸cð Àdó ð°ð ¸ó ò9ò0ð ‡[�[×ÑØCóð ‡[�[×ÑØà�#ˆJØ�M‰M×%Ñ%Ø˜ZÐ(°¸'Ð0Bð &ó ð	
óð ‡[�[×Ñ˜^¨d°E¨]Ó;ó8ó <óóð8ô4ôHô+ô1ô8ô+ò)ô-ò/ò6ð$ ‡[�[×Ñ˜mÐÓ,ó%ó -ð%ò0ô(:ô
:ð
 "0Ðò	9ò8ð ‡[�[×ÑÐ.ÐÓ/ó:ó 0ð:ð ‡[�[×ÑÐLÐÓMó7ó Nð7ò1ô0Cò$ò
3ð
 ‡[�[×Ñ˜]¨W°fÐ,=Ó>ñCó ?ð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_argrY  ê  s   € Ø×%Ñ%Ó'¬;Ñ6Ð6Ñ6r   )Ú__doc__Únumpyr   rd   Úpandasr   Úpandas._testingÚ_testingru   Úpandas.arraysr   Úpandas.tests.extensionr   r   r   Úfixturer   r+   r   r(   r-   r4   r6   r8   r?   rA   rF   ÚExtensionTestsrH   rY  r   r   r   ú<module>rc     s§  ðñó  Û ã Ý Ý %Ý 'ð
˜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ôEH�d×)Ñ)ô EHóP7r   