ó
    ­œ‘h[F  ã                   óÚ  • S r SSKrSSKrSSKJr  SSKrSSKJr  SSK	J
r  SSKJr  SSKJr  S r\R"                  S 5       r\R"                  " S\R&                  /S	9S
 5       r\R"                  S 5       r\R"                  " S\R&                  /S	9S 5       r\R"                  " S\R&                  /S	9S 5       r\R"                  " S\R&                  /S	9S 5       r\R"                  " S\R&                  /S	9S 5       r\R"                  S 5       r\R"                  " S\R&                  /S	9S 5       r\R"                  " S\R&                  /S	9S 5       r " S S\R:                  5      rS rg)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                 ó  • [         R                  R                  S5      n[         R                  " U 5      (       a  UR	                  SS9nO/UR                  SSS[        S9nUS   US   :X  a  US==   S-  ss'   XSS S2'   U$ )Né   éd   )Úsizeé   )r   Údtyper   é   )ÚnpÚrandomÚdefault_rngÚisnanÚuniformÚintegersÚint)Ú
fill_valueÚrngÚdatas      ÚfC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/tests/extension/test_sparse.pyÚ	make_datar      sz   € Ü
�)‰)×
Ñ
 Ó
"€CÜ	‡x‚x�
×ÑØ�{‰{ ˆ{Ð$‰à�|‰|˜A˜s¨´Cˆ|Ð8ˆØ�‰7�d˜1‘gÓØ�‹G�q‰L‹GàˆˆˆAˆ�JØ€Kó    c                  ó   • [        5       $ ©Nr   © r   r   r   r   *   s
   € ä‹=Ðr   )Úparamsc                 óT   • [        [        U R                  5      U R                  S9nU$ )z*Length-100 PeriodArray for semantics test.©r   )r   r   Úparam)ÚrequestÚress     r   r   r   /   s"   € ô ”i §¡Ó.¸7¿=¹=Ñ
I€CØ€Jr   c                  óF   • [        [        R                  " S5      S-  5      $ )Nr
   r	   )r   r   Úonesr   r   r   Údata_for_twosr'   6   s   € ä”r—w’w˜s“| aÑ'Ó(Ð(r   c                 óJ   • [        [        R                  S/U R                  S9$ )zLength 2 array with [NA, Valid]r   r!   ©r   r   Únanr"   ©r#   s    r   Údata_missingr,   ;   s   € ô œŸ™ �{¨w¯}©}Ñ=Ð=r   c              #   ó"   ^ #   • U 4S jnUv •  g7f)z1Return different versions of data for count timesc              3   ó„   >#   • [        U 5       H,  n[        [        TR                  5      TR                  S9v •  M.     g 7f)Nr!   )Úranger   r   r"   )ÚcountÚ_r#   s     €r   ÚgenÚdata_repeated.<locals>.genE   s.   øé € Ü�u–ˆAÜœi¨¯©Ó6À7Ç=Á=ÑQÔQò ùs   ƒ=A Nr   )r#   r2   s   ` r   Údata_repeatedr4   A   s   øé € õRð ƒIùs   ƒc                 ó.   • [        / SQU R                  S9$ )N)r	   r   r   r!   )r   r"   r+   s    r   Údata_for_sortingr6   L   s   € ä’y¨W¯]©]Ñ;Ð;r   c                 óL   • [        S[        R                  S/U R                  S9$ )Nr	   r   r!   r)   r+   s    r   Údata_missing_for_sortingr8   Q   s   € ä˜œ2Ÿ6™6 1�~°'·-±-Ñ@Ð@r   c                  ó   • S $ )Nc                 óh   • [         R                  " U 5      =(       a    [         R                  " U5      $ r   )ÚpdÚisna)ÚleftÚrights     r   Ú<lambda>Úna_cmp.<locals>.<lambda>X   s   € œrŸwšw t›}×?´·²¸³Ð?r   r   r   r   r   Úna_cmprA   V   s   € á?Ð?r   c           
      ór   • [        SS[        R                  [        R                  SSSS/U R                  S9$ )Nr   r	   r   r!   r)   r+   s    r   Údata_for_groupingrC   [   s,   € ä˜˜1œbŸf™f¤b§f¡f¨a°°A°qÐ9ÀgÇmÁmÑTÐTr   c                 óZ   • [        SS[        R                  SSSSSSS/
U R                  S9$ )Nr   éþÿÿÿéÿÿÿÿé   r	   r   r!   r)   r+   s    r   Údata_for_comparerH   `   s,   € ä˜˜1œbŸf™f b¨"¨a°°A°q¸!Ð<ÈÏÉÑWÐWr   c                   ó  ^ • \ rS rSrS\S\4S jr\R                  R                  SSS/5      U 4S j5       r
\R                  R                  SSS/5      U 4S	 j5       rS
 rS r\R                  R                  S5      \R                  R                  SSS/\R                   R#                  SS/SS/S9/5      \R                  R                  SSS/5      U 4S j5       5       5       rU 4S jrU 4S jrU 4S jrU 4S jrU 4S jrU 4S jrS rU 4S jrS rU 4S  jrU 4S! jr\R                  R=                  S"S#9U 4S$ j5       rS% r S&r!S' r"S( r#\R                  R=                  S)S#9U 4S* j5       r$S+ r%U 4S, jr&S- r'\R                  R                  S.S/S0/5      U 4S1 j5       r(\R                  RR                  \R                  R                  S2\RT                  \RV                  \RX                  /5      U 4S3 j5       5       r-\R                  RR                  U 4S4 j5       r.\R                  R                  S5S6 S7\/" S8\0Rb                  /5      4S9 S:\/" S8\0Rb                  /5      4\S7\/" S;S</S<S=94\S:\/" S;\0Rb                  /5      4/5      S> 5       r2\R                  R                  S?S7S:/5      S@ 5       r3\R                  R=                  \4SASB9U 4SC j5       r5S7r6S7r7S7r8S7r9SD r:U 4SE jr;U 4SF jr<U 4SG jr=SH\RV                  SI\/4SJ jr>SI\/4SK jr?SI\/4SL jr@SI\/4SM jrA\R                  R=                  SNS#9U 4SO j5       rB\R                  R=                  SPS#9\R                  R                  SQSS/5      U 4SR j5       5       rCSSrDU =rE$ )TÚTestSparseArrayée   Úop_nameÚreturnc                 ó   • g)NTr   )ÚselfÚobjrL   s      r   Ú_supports_reductionÚ#TestSparseArray._supports_reductionf   s   € Ør   ÚskipnaTFc                 ób  >• US;   a9  [         R                  R                  SS9nUR                  R	                  U5        O_US;   aY  UR
                  R                  S:X  a?  U(       d8  [         R                  R                  SS9nUR                  R	                  U5        [        TU ]!  XU5        g )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©rO   r   Úall_numeric_reductionsrS   r#   rg   Ú	__class__s         €r   rm   Ú*TestSparseArray.test_reduce_series_numerici   s—   ø€ à!ð &
ó 
ô —;‘;×$Ñ$ØEð %ð ˆDð �L‰L×#Ñ# DÕ)à"Ð&CÓCØ—
‘
—‘ 3Ó&Þä—;‘;×$Ñ$Ð,EÐ$ÐFˆDØ�L‰L×#Ñ# DÔ)ä‰Ñ*¨4ÈÕPr   c                 ób  >• US;   a9  [         R                  R                  SS9nUR                  R	                  U5        O_US;   aY  UR
                  R                  S:X  a?  U(       d8  [         R                  R                  SS9nUR                  R	                  U5        [        TU ]!  XU5        g )NrU   r]   r^   r`   re   z$ExtensionArray NA mask are different)	rf   rg   rh   ri   rj   r   rk   rl   Útest_reduce_framern   s         €r   rs   Ú!TestSparseArray.test_reduce_frame‚   s—   ø€ à!ð &
ó 
ô —;‘;×$Ñ$ØEð %ð ˆDð �L‰L×#Ñ# DÕ)à"Ð&CÓCØ—
‘
—‘ 3Ó&Þä—;‘;×$Ñ$Ð,RÐ$ÐSˆDØ�L‰L×#Ñ# DÔ)ä‰Ñ! $ÀÕGr   c                 ón   • UR                   [        [        S5      :X  a  [        R                  " S5        g g )Nr   zCan't store nan in int array.)r   r   r   rf   Úskip©rO   r   s     r   Ú_check_unsupportedÚ"TestSparseArray._check_unsupported›   s'   € Ø�:‰:œ¤S¨!Ó,Ó,Ü�KŠKÐ7Õ8ð -r   c                 ó–  • [         R                  " SUS S 05      n[         R                  " S/ SQ05      n[         R                  " S/ SQ05      R                  S5      nX#U/n[         R                  " U5      n[         R                  " U Vs/ s H  owR	                  S 5      PM     sn5      n[
        R                  " Xh5        g s  snf )NÚAr   )r   r	   r   )ÚaÚbÚcÚcategoryc                 óT   • [         R                  " U 5      R                  [        5      $ r   )r   ÚasarrayÚastypeÚobject)Úss    r   r?   Ú:TestSparseArray.test_concat_mixed_dtypes.<locals>.<lambda>ª   s   € œrŸzšz¨!›}×3Ñ3´FÔ;r   )r;   Ú	DataFramer‚   ÚconcatÚapplyÚtmÚassert_frame_equal)	rO   r   Údf1Údf2Údf3ÚdfsÚresultÚxÚexpecteds	            r   Útest_concat_mixed_dtypesÚ(TestSparseArray.test_concat_mixed_dtypesŸ   s£   € ô �lŠl˜C  b q ˜?Ó+ˆÜ�lŠl˜C¢Ð+Ó,ˆÜ�lŠl˜C¢Ð1Ó2×9Ñ9¸*ÓEˆØ˜ˆoˆô —’˜3“ˆÜ—9’9ÙFIÓJÂcÀ�W‰WÑ;Ö<ÁcÑJó
ˆô 	×Ò˜fÕ/ùò Ks   ÂCz9ignore:The previous implementation of stack is deprecatedÚcolumnsr{   ÚB)r{   r|   )r{   r}   ÚouterÚinner)ÚnamesÚfuture_stackc                 ó&   >• [         TU ]  XU5        g r   )rl   Ú
test_stack)rO   r   r”   r™   rp   s       €r   r›   ÚTestSparseArray.test_stack®   s   ø€ ô 	‰Ñ˜4¨,Õ7r   c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )rx   rl   Útest_concat_columns©rO   r   Úna_valuerp   s      €r   rž   Ú#TestSparseArray.test_concat_columns¾   s   ø€ Ø×Ñ Ô%Ü‰Ñ# DÕ3r   c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )rx   rl   Ú'test_concat_extension_arrays_copy_falserŸ   s      €r   r£   Ú7TestSparseArray.test_concat_extension_arrays_copy_falseÂ   s   ø€ Ø×Ñ Ô%Ü‰Ñ7¸ÕGr   c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )rx   rl   Ú
test_alignrŸ   s      €r   r¦   ÚTestSparseArray.test_alignÆ   ó   ø€ Ø×Ñ Ô%Ü‰Ñ˜4Õ*r   c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )rx   rl   Útest_align_framerŸ   s      €r   rª   Ú TestSparseArray.test_align_frameÊ   s   ø€ Ø×Ñ Ô%Ü‰Ñ  Õ0r   c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )rx   rl   Útest_align_series_framerŸ   s      €r   r­   Ú'TestSparseArray.test_align_series_frameÎ   s   ø€ Ø×Ñ Ô%Ü‰Ñ'¨Õ7r   c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )rx   rl   Ú
test_mergerŸ   s      €r   r°   ÚTestSparseArray.test_mergeÒ   r¨   r   c                 ó  • [         R                  " U[        [        U5      5       Vs/ s H  nSU-  PM
     snS9n[        R
                  " UR                  R                  5      (       aU  [        R
                  " UR                  S5      5      (       a(  [        R
                  " UR                  S   5      (       d   eO$UR                  S5      UR                  S   :X  d   eUR                  S5      UR                  S   :X  d   eg s  snf )Nr	   )ÚindexrG   r   )
r;   ÚSeriesr/   Úlenr   r   Úvaluesr   ÚgetÚiloc)rO   r   ÚiÚsers       r   Útest_getÚTestSparseArray.test_getÖ   sÁ   € Ü�iŠi˜´E¼#¸d»)Ô4DÓ$EÒ4D¨q Q¨¤UÑ4DÑ$EÑFˆÜ�8Š8�C—J‘J×)Ñ)×*Ñ*Ü—8’8˜CŸG™G A›J×'Ñ'¬B¯HªH°S·X±X¸a±[×,AÑ,AÐAÐAÐ,Aà—7‘7˜1“: §¡¨!¡Ó,Ð,Ð,Ø�w‰w�q‹z˜SŸX™X a™[Ó(Ð(Ñ(ùò %Fs   ¨D	
c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )rx   rl   Útest_reindexrŸ   s      €r   r¾   ÚTestSparseArray.test_reindexÞ   s   ø€ Ø×Ñ Ô%Ü‰Ñ˜TÕ,r   c                 óä  • [        U5      n[        [        [        R                  " UR
                  R                  5      5      n[        SS/US9nUR	                  5       n[        R                  " XT5        UR                  S5      n[        [        [        R                  " UR
                  R                  5      5      n[        SS/SUS9n[        R                  " UR	                  5       U5        g )NTF©r   r   ©r   r   )r   r   Úboolr;   r<   r   r   r‰   Úassert_sp_array_equalÚfillnaÚassert_equal)rO   r,   ÚsarrÚexpected_dtyper‘   r�   s         r   Ú	test_isnaÚ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                 óš   >• [         [        4n[        R                  " USS9   [        TU ]  U5        S S S 5        g ! , (       d  f       g = f©NF)Úcheck_stacklevel)r   ÚFutureWarningr‰   Úassert_produces_warningrl   Útest_fillna_limit_backfill)rO   r,   Úwarnsrp   s      €r   rÐ   Ú*TestSparseArray.test_fillna_limit_backfillï   s7   ø€ Ü#¤]Ð3ˆÜ×'Ò'¨ÀÓFÜ‰GÑ.¨|Ô<÷ G×FÖFús	   £<¼
A
c                 óÆ   >• [         R                  " UR                  5      (       a,  UR                  [        R
                  R                  SS95        [        TU ]!  U5        g )Nz'returns array with different fill valuer^   )	r   r   r   Úapplymarkerrf   rg   rh   rl   Útest_fillna_no_op_returns_copy)rO   r   r#   rp   s      €r   rÕ   Ú.TestSparseArray.test_fillna_no_op_returns_copyô   sI   ø€ Ü�8Š8�D—O‘O×$Ñ$Ø×ÑÜ—‘×!Ñ!Ð)RÐ!ÐSôô 	‰Ñ.¨tÕ4r   ÚUnsupportedr^   c                 ó"   >• [         TU ]  5         g r   )rl   Útest_fillna_series©rO   r,   rp   s     €r   rÙ   Ú"TestSparseArray.test_fillna_seriesû   s   ø€ ô
 	‰Ñ"Õ$r   c                 ór  • US   n[         R                  " USS/S.5      R                  U5      n[         R                  " UR                  5      (       a  [        UR                  U5      nOUR                  n[         R                  " UR                  X"/US9SS/S.5      n[        R                  " X55        g )Nr   r	   )r{   r•   rÁ   )
r;   r†   rÅ   r<   r   r   r   Ú_from_sequencer‰   rŠ   )rO   r,   r   r�   r   r‘   s         r   Útest_fillna_frameÚ!TestSparseArray.test_fillna_frame  s    € à! !‘_ˆ
ä—’ L¸¸1°vÑ>Ó?×FÑFÀzÓRˆä�7Š7�<×*Ñ*×+Ñ+Ü × 2Ñ 2°JÓ?‰Eà ×&Ñ&ˆEä—<’<à!×0Ñ0°*Ð1IÐQVÐ0ÐWØ˜�Vñó
ˆô 	×Ò˜fÕ/r   zSparse[bool]c                 ó  • UR                  SS/5      n[        R                  " SU0SS9nUR                  S   nUR	                  U5      n[        UR                  S5      (       af  U(       a0  UR                  R                  UR                  R                  L d   eO/UR                  R                  UR                  R                  Ld   eUR                  R                  R                  5       UR                  5       L d   eg )Nr   r{   F©Úcopy)r   r   Úblocks)Útaker;   r†   r¸   rÅ   ÚhasattrÚ_mgrr¶   r   r{   Ú_valuesÚto_dense)rO   r,   Úusing_copy_on_writeÚarrÚdfÚ
filled_valr�   s          r   Útest_fillna_copy_frameÚ&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                 óV  • UR                  SS/5      n[        R                  " USS9nUS   nUR                  U5      nU(       a  UR                  UR                  L d   eOUR                  UR                  Ld   eUR                  R                  5       UR                  5       L d   eg )Nr   Frá   r   )rä   r;   r´   rÅ   rç   rè   )rO   r,   ré   rê   rº   rì   r�   s          r   Útest_fillna_copy_seriesÚ'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U ]  U5        g r   )rl   Útest_fillna_length_mismatchrÚ   s     €r   ró   Ú+TestSparseArray.test_fillna_length_mismatch4  s   ø€ ä‰Ñ+¨LÕ9r   c                 óœ  • US   US   :w  d   e[        U5      nUS S u  pE[        R                  " UR                  XDXU/UR                  S95      n[
        R                  " / SQ5      nUR                  U5      n[        SS5      n	[        R                  " UR                  XDX"/U	S95      n
[        R                  " XŠ5        UR                  XEXE/UR                  S9n[
        R                  " / SQ5      nUR                  X{5      n[        R                  " UR                  XEXU/UR                  S95      n
[        R                  " XŠ5        g )	Nr   r   r	   rÁ   )TTFFÚfloatg        )TFTT)Útyper;   r´   rÝ   r   r   ÚarrayÚwherer   r‰   Úassert_series_equal)rO   r   r    Úclsr|   r}   rº   Úcondr�   Ú	new_dtyper‘   Úothers               r   Útest_where_seriesÚ!TestSparseArray.test_where_series8  s   € Ø�A‰w˜$˜q™'Ó!Ð!Ð!Ü�4‹jˆØ�B�Qˆx‰ˆä�iŠi˜×*Ñ*¨A°!¨<¸t¿z¹zÐ*ÐJÓKˆä�xŠxÒ2Ó3ˆØ—‘˜4“ˆä ¨Ó-ˆ	Ü—9’9Ø×Ñ  hÐ9ÀÐÐKó
ˆô 	×Ò˜vÔ0à×"Ñ" A¨! <°t·z±zÐ"ÐBˆÜ�xŠxÒ1Ó2ˆØ—‘˜4Ó'ˆÜ—9’9˜S×/Ñ/°°q°ÀDÇJÁJÐ/ÐOÓPˆÜ
×Ò˜vÕ0r   c                 óŠ   >• [         R                  " [        SS9   [        TU ]  X5        S S S 5        g ! , (       d  f       g = frÌ   )r‰   rÏ   r   rl   Útest_searchsorted)rO   r6   Ú	as_seriesrp   s      €r   r  Ú!TestSparseArray.test_searchsortedN  s/   ø€ Ü×'Ò'Ô(:ÈUÓSÜ‰GÑ%Ð&6ÔB÷ T×SÖSús	   ›4´
Ac                 ó¢   • UR                  S5      nUR                  S   UR                  S'   UR                  S   UR                  S   :w  d   eg )Nr   r   )ÚshiftÚ_sparse_values)rO   r   r�   s      r   Útest_shift_0_periodsÚ$TestSparseArray.test_shift_0_periodsR  sN   € à—‘˜A“ˆà!%×!4Ñ!4°QÑ!7ˆ×Ñ˜AÑØ×$Ñ$ QÑ'¨6×+@Ñ+@ÀÑ+CÓCÐCÑCr   ÚmethodÚargmaxÚargminc                 óH   >• U R                  U5        [        TU ]	  XU5        g r   )rx   rl   Útest_argmin_argmax_all_na)rO   r
  r   r    rp   s       €r   r  Ú)TestSparseArray.test_argmin_argmax_all_naY  s"   ø€ ð 	×Ñ Ô%Ü‰Ñ)¨&¸ÕAr   Úboxc                 óH   >• U R                  U5        [        TU ]	  XX45        g r   )rx   rl   Útest_equals)rO   r   r    r  r  rp   s        €r   r  ÚTestSparseArray.test_equals_  s"   ø€ ð 	×Ñ Ô%Ü‰Ñ˜D¨IÕ;r   c                 ó$   >• [         TU ]  U5        g r   )rl   Ú&test_equals_same_data_different_object)rO   r   rp   s     €r   r  Ú6TestSparseArray.test_equals_same_data_different_objecte  s   ø€ ä‰Ñ6°tÕ<r   zfunc, na_action, expectedc                 ó   • U $ r   r   ©r�   s    r   r?   ÚTestSparseArray.<lambda>l  ó   € ‘qr   Ng      ð?c                 ó   • U $ r   r   r  s    r   r?   r  m  r  r   Úignorez1.0r*   r!   c                 ó„   • [        S[        R                  /5      nUR                  XS9n[        R
                  " XS5        g )Nr   ©Ú	na_action)r   r   r*   Úmapr‰   Úassert_extension_array_equal)rO   Úfuncr  r‘   r   r�   s         r   Útest_mapÚTestSparseArray.test_mapi  s4   € ô ˜AœrŸv™v˜;Ó'ˆØ—‘˜$�Ð4ˆÜ
×'Ò'¨Õ9r   r  c                 ó�   • Sn[         R                  " [        US9   UR                  S US9  S S S 5        g ! , (       d  f       g = f)Nz-fill value in the sparse values not supported)Úmatchc                 ó"   • [         R                  $ r   )r   r*   r  s    r   r?   Ú1TestSparseArray.test_map_raises.<locals>.<lambda>}  s   € œrŸvšvr   r  )rf   ÚraisesÚ
ValueErrorr   )rO   r   r  Úmsgs       r   Útest_map_raisesÚTestSparseArray.test_map_raisesx  s4   € ð >ˆÜ�]Š]œ:¨SÓ1Ø�H‰HÑ%°ˆHÑ;÷ 2×1Ö1ús	   œ7·
Azno sparse StringDtype)r)  r_   c                 ó$   >• [         TU ]  U5        g r   )rl   Útest_astype_string)rO   r   Únullable_string_dtyperp   s      €r   r/  Ú"TestSparseArray.test_astype_string  s   ø€ ô 	‰Ñ" 4Õ(r   c                 óR   • UR                   S:X  a  [        R                  " S5        g g )Nr   z=Incorrected expected from Series.combine and tested elsewhere)r   rf   rv   rw   s     r   Ú_skip_if_different_combineÚ*TestSparseArray._skip_if_different_combineŠ  s"   € Ø�?‰?˜aÓô �KŠKÐWÕXð	  r   c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )r3  rl   Útest_arith_series_with_scalar©rO   r   Úall_arithmetic_operatorsrp   s      €r   r6  Ú-TestSparseArray.test_arith_series_with_scalar‘  s   ø€ Ø×'Ñ'¨Ô-Ü‰Ñ-¨dÕMr   c                 óF   >• U R                  U5        [        TU ]	  X5        g r   )r3  rl   Útest_arith_series_with_arrayr7  s      €r   r;  Ú,TestSparseArray.test_arith_series_with_array•  s   ø€ Ø×'Ñ'¨Ô-Ü‰Ñ,¨TÕLr   c                 óà   >• UR                   R                  S:w  a  OCUR                  S5      S;  a.  [        R                  R                  SS9nUR                  U5        [        TU ]!  X5        g )Nr   r1   )ÚmulÚrmulÚfloordivÚ	rfloordivÚpowÚmodÚrmodz result dtype.fill_value mismatchr^   )	r   r   Ústriprf   rg   rh   rÔ   rl   Útest_arith_frame_with_scalar)rO   r   r8  r#   rg   rp   s        €r   rF  Ú,TestSparseArray.test_arith_frame_with_scalar™  se   ø€ Ø�:‰:× Ñ  AÓ%ØØ%×+Ñ+¨CÓ0ð 9
ó 
ô —;‘;×$Ñ$Ð,NÐ$ÐOˆDØ×Ñ Ô%Ü‰Ñ,¨TÕLr   rº   rH   c                 ó(  • UnU" X$5      n[        U[        R                  5      (       aC  [        U[        R                  5      (       d   e[        UR                  [        5      (       d   eO[        U[
        5      (       d   eUR                  R                  [        R                  :X  d   e[        U[        R                  5      (       aj  U" UR                  UR                  R                  5      n[        U" UR                  5       [        R                  " U5      5      U[        R                  S9nO‘[        R                  " U" [        R                  " UR                  5      [        R                  " U5      5      5      n[        U" UR                  5       [        R                  " U5      5      U[        R                  S9n[        U[        R                  5      (       a  [        R                  " U5      n[        R                  " Xh5        g )NrÂ   )Ú
isinstancer;   r´   r   r   r   Úsubtyper   Úbool_r   rç   rè   r�   Úallr‰   rÆ   )	rO   rº   rH   Úcomparison_oprþ   Úopr�   r   r‘   s	            r   Ú_compare_otherÚTestSparseArray._compare_other©  st  € ð ˆáÐ$Ó,ˆÜ�eœRŸY™Y×'Ñ'Ü˜f¤b§i¡i×0Ñ0Ð0Ð0Ü˜fŸl™l¬K×8Ñ8Ð8Ñ8ä˜f¤k×2Ñ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                 óä   • [         R                  " U5      nU R                  X1US5        U R                  X1US5        U R                  X1US5        U R                  X1U[        R                  5        g )Nr   r   rF   )r;   r´   rO  r   r*   )rO   rH   rM  rº   s       r   Útest_scalarÚTestSparseArray.test_scalarÍ  s]   € Ü�iŠiÐ(Ó)ˆØ×Ñ˜C°=À!ÔDØ×Ñ˜C°=À!ÔDØ×Ñ˜C°=À"ÔEØ×Ñ˜C°=Ä"Ç&Á&ÕIr   c                 ó4  • UR                   R                  S:X  a>  UR                  S;   a.  [        R                  R                  SS9nUR                  U5        [        R                  " SSS5      n[        R                  " U5      nU R                  XaX%5        g )Nr   )ÚeqÚgeÚleúWrong fill_valuer^   éüÿÿÿé   é
   )r   r   Ú__name__rf   rg   rh   rÔ   r   Úlinspacer;   r´   rO  )rO   rH   rM  r#   rg   rê   rº   s          r   Ú
test_arrayÚTestSparseArray.test_arrayÔ  s‚   € Ø×!Ñ!×,Ñ,°Ó1°m×6LÑ6Lð Q
ó 7
ô
 —;‘;×$Ñ$Ð,>Ð$Ð?ˆDØ×Ñ Ô%ä�kŠk˜"˜a Ó$ˆÜ�iŠiÐ(Ó)ˆØ×Ñ˜C°=ÕFr   c                 ó<  • UR                   R                  S:X  a>  UR                  S:w  a.  [        R                  R                  SS9nUR                  U5        [        R                  " U5      nUS-   nU R                  XQX&5        US-  nU R                  XQX&5        g )Nr   ÚgtrX  r^   r   r	   )
r   r   r\  rf   rg   rh   rÔ   r;   r´   rO  )rO   rH   rM  r#   rg   rº   rê   s          r   Útest_sparse_arrayÚ!TestSparseArray.test_sparse_arrayá  s�   € Ø×!Ñ!×,Ñ,°Ó1°m×6LÑ6LÐPTÓ6TÜ—;‘;×$Ñ$Ð,>Ð$Ð?ˆDØ×Ñ Ô%ä�iŠiÐ(Ó)ˆØ Ñ"ˆØ×Ñ˜C°=ÔFØ Ñ"ˆØ×Ñ˜C°=ÕFr   zDifferent reprc                 ó$   >• [         TU ]  X5        g r   )rl   Útest_array_repr)rO   r   r   rp   s      €r   re  ÚTestSparseArray.test_array_reprì  s   ø€ ä‰Ñ Õ+r   zresult does not match expectedÚas_indexc                 ó$   >• [         TU ]  X5        g r   )rl   Útest_groupby_extension_agg)rO   rg  rC   rp   s      €r   ri  Ú*TestSparseArray.test_groupby_extension_aggð  s   ø€ ô 	‰Ñ*¨8ÕGr   r   )Fr\  Ú
__module__Ú__qualname__Ú__firstlineno__ÚstrrÃ   rQ   rf   rg   Úparametrizerm   rs   rx   r’   Úfilterwarningsr;   Ú
MultiIndexÚfrom_tuplesr›   rž   r£   r¦   rª   r­   r°   r»   r¾   rÉ   rÐ   rÕ   rh   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_excr3  r6  r;  rF  rO  rR  r^  rb  re  ri  Ú__static_attributes__Ú__classcell__)rp   s   @r   rJ   rJ   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   rJ   c                 ó6   • U R                  5       [        L d   eg r   )Úconstruct_array_typer   rÁ   s    r   Útest_array_type_with_argr~  ö  s   € Ø×%Ñ%Ó'¬;Ò6Ð6Ñ6r   ) Ú__doc__Únumpyr   rf   Úpandas.errorsr   Úpandasr;   r   Úpandas._testingÚ_testingr‰   Úpandas.arraysr   Úpandas.tests.extensionr   r   Úfixturer   r*   r   r'   r,   r4   r6   r8   rA   rC   rH   ÚExtensionTestsrJ   r~  r   r   r   Ú<module>r‰     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   