Ë
    u™ãjÏš  ã                  ól  — d Z ddlmZ ddlmZmZmZmZ ddlmZ ddl	m
Z
mZ ddlZddlZddlZddlmZmZmZ ddlm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"  ejF                  d«      Z$dZ% ejL                  ejN                  e(¬«      d„ «       Z)ejL                  d„ «       Z*ejL                  d„ «       Z+ ejL                  ddg¬«      d„ «       Z,ejL                  d„ «       Z-ejL                  d„ «       Z.ejL                  d„ «       Z/ejL                  d„ «       Z0 G d„ de"jb                  «      Z2y)ag  
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/`.
é    )Úannotations)ÚdateÚdatetimeÚtimeÚ	timedelta)ÚDecimal)ÚBytesIOÚStringION)ÚPY312Úpa_version_under20p0Úpa_version_under21p0)Úpandas_dtype)Ú
ArrowDtype)Ú
no_default)Úis_string_dtype)ÚbaseÚpyarrowz8In a future version these will be treated as scalar-like)ÚparamsÚidsc                ó.   — t        | j                  ¬«      S )N)Úpyarrow_dtype)r   Úparam)Úrequests    úl/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/extension/test_arrow.pyÚdtyper   :   s   € ä G§M¡MÔ2Ð2ó    c           
     ó¶  — | j                   }t        j                  j                  |«      rddgdz  d gz   ddgz   d gz   ddgz   }�n}t        j                  j	                  |«      rddgdz  d gz   ddgz   d gz   dd	gz   }�nCt        j                  j                  |«      rd
dgdz  d gz   ddgz   d gz   d
dgz   }�n	t        j                  j                  |«      rd
dgdz  d gz   dd
gz   d gz   d
dgz   }�nÏt        j                  j                  |«      rQt        d«      t        d«      gdz  d gz   t        d«      t        d«      gz   d gz   t        d«      t        d«      gz   }�n_t        j                  j                  |«      r]t        dd
d
«      t        ddd«      gdz  d gz   t        dd
d
«      t        dd
d
«      gz   d gz   t        ddd«      t        ddd«      gz   }�nãt        j                  j                  |«      rgt        dd
d
d
d
d
d
«      t        dd
d
d
d
d
d
«      gdz  d gz   t        dd
d
d
«      t        dd
d
d
«      gz   d gz   t        dd
d
«      t        dd
d
«      gz   }�n]t        j                  j                  |«      rQt        d
«      t        d
d
«      gdz  d gz   t        d«      t        d«      gz   d gz   t        d«      t        d«      gz   }nít        j                  j                  |«      rVt!        dd«      t!        dd«      gdz  d gz   t!        dd«      t!        d
d
«      gz   d gz   t!        dd«      t!        dd«      gz   }nxt        j                  j#                  |«      rddgdz  d gz   ddgz   d gz   d d!gz   }n?t        j                  j%                  |«      rd"d#gdz  d gz   d$d%gz   d gz   d&d'gz   }nt&        ‚t)        j*                  || ¬(«      S ))NTFé   g      ð?ç        g       Àg      ð¿g      à?g     àX@é   r   éþÿÿÿéÿÿÿÿéc   Ú1ú0.0z-2.0z-1.0z0.5z33.123éæ  éÏ  é   é   éä  iöÿÿÿé
   é   ÚaÚbÚ2ú!ú>ó   aó   bó   1ó   2ó   !ó   >©r   )r   ÚpaÚtypesÚ
is_booleanÚis_floatingÚis_signed_integerÚis_unsigned_integerÚ
is_decimalr   Úis_dater   Úis_timestampr   Úis_durationr   Úis_timer   Ú	is_stringÚ	is_binaryÚNotImplementedErrorÚpdÚarray)r   Úpa_dtypeÚdatas      r   rJ   rJ   ?   s1  € à×"Ñ"€HÜ	‡x�x×Ñ˜8Ô$Ø�eˆ}˜qÑ  D 6Ñ)¨T°5¨MÑ9¸T¸FÑBÀdÈEÀ]ÑRŠÜ	�‰×	Ñ	˜hÔ	'Ø�Sˆz˜A‰~  Ñ&¨$°¨Ñ5¸¸Ñ>À#ÀtÀÑLŠÜ	�‰×	#Ñ	# HÔ	-Ø�1ˆv˜‰z˜T˜FÑ" b¨" XÑ-°°Ñ6¸!¸R¸Ñ@ŠÜ	�‰×	%Ñ	% hÔ	/Ø�1ˆv˜‰z˜T˜FÑ" a¨ VÑ+¨t¨fÑ4¸¸2°wÑ>ŠÜ	�‰×	Ñ	˜XÔ	&ä�S‹\œ7 5›>Ð*¨QÑ.Øˆfñä�v‹¤¨£Ð0ñ1ð ˆfñô �u‹~œw xÓ0Ð1ñ	2ò 	ô 
�‰×	Ñ	˜(Ô	#ä�$˜˜1Óœt D¨"¨bÓ1Ð2°QÑ6Øˆfñä�D˜!˜QÓ¤ d¨A¨qÓ!1Ð2ñ3ð ˆfñô �D˜"˜bÓ!¤4¨¨b°"Ó#5Ð6ñ	7ò 	ô 
�‰×	Ñ	˜xÔ	(ä�d˜A˜q ! Q¨¨1Ó-¬x¸¸aÀÀAÀqÈ!ÈQÓ/OÐPÐSTÑTØˆfñä˜˜a  AÓ&¬°°q¸!¸QÓ(?Ð@ñAð ˆfñô ˜˜a Ó#¤X¨d°A°qÓ%9Ð:ñ	;ò 	ô 
�‰×	Ñ	˜hÔ	'ä�q‹\œ9 Q¨›?Ð+¨aÑ/Øˆfñä˜‹}œi¨›lÐ+ñ,ð ˆfñô ˜‹~œy¨›}Ð-ñ	.ñ 	ô 
�‰×	Ñ	˜(Ô	#ä�"�a‹[œ$˜q "›+Ð&¨Ñ*Øˆfñä�A�q‹zœ4  1›:Ð&ñ'ð ˆfñô �A�q‹zœ4  1›:Ð&ñ	'ñ 	ô 
�‰×	Ñ	˜HÔ	%Ø�Sˆz˜A‰~  Ñ&¨#¨s¨Ñ3°t°fÑ<ÀÀS¸zÑI‰Ü	�‰×	Ñ	˜HÔ	%Ø�dˆ|˜aÑ 4 &Ñ(¨D°$¨<Ñ7¸4¸&Ñ@ÀDÈ$À<ÑO‰ä!Ð!Ü�8‰8�D Ô&Ð&r   c                óX   — t        | «      j                  d| d   g| j                  ¬«      S )zLength-2 array with [NA, Valid]Nr   r8   ©ÚtypeÚ_from_sequencer   )rJ   s    r   Údata_missingrO   {   s*   € ô �‹:×$Ñ$ d¨D°©G _¸D¿J¹JÐ$ÓGÐGr   rJ   rO   )r   c                óH   — | j                   dk(  r|S | j                   dk(  r|S y)z�Parametrized fixture returning 'data' or 'data_missing' integer arrays.

    Used to test dtype conversion with and without missing values.
    rJ   rO   N)r   )r   rJ   rO   s      r   Úall_datarQ   �   s,   € ð ‡}�}˜ÒØˆØ	�‰˜.Ò	(ØÐð 
)r   c           
     óì  — | j                   }t        j                  j                  |«      rd}d}d}�n#t        j                  j	                  |«      rd}d}d}�nüt        j                  j                  |«      rd}d}d}�nÕt        j                  j                  |«      rd}d}d	}�n®t        j                  j                  |«      r)t        d
dd«      }t        ddd«      }t        ddd«      }�nft        j                  j                  |«      r.t        d
dddddd«      }t        ddd«      }t        dddd«      }�nt        j                  j                  |«      r#t        d«      }t        d«      }t        dd«      }n×t        j                  j                  |«      r%t        dd«      }t        dd«      }t        dd«      }n“t        j                  j                  |«      rd}d}d}nmt        j                  j!                  |«      rd}d}d}nGt        j                  j#                  |«      r"t%        d«      }t%        d«      }t%        d«      }nt&        ‚t)        j*                  ||dd||||g| ¬«      S )z˜
    Data for factorization, grouping, and unique tests.

    Expected to be like [B, B, NA, NA, A, A, B, C]

    Where A < B < C and NA is missing
    FTgš™™™™™ñ¿r   gš™™™™™ñ?r"   r   r    r+   r'   r(   r)   iÚ  r&   r*   é   r-   r.   Úcr2   r3   ó   cz-1.1r%   z1.1Nr8   )r   r9   r:   r;   r<   r=   r>   r@   r   rA   r   rB   r   rC   r   rD   rE   r?   r   rF   rG   rH   )r   rI   ÚAÚBÚCs        r   Údata_for_groupingrY   �   s  € ð ×"Ñ"€HÜ	‡x�x×Ñ˜8Ô$ØˆØˆØŠÜ	�‰×	Ñ	˜hÔ	'ØˆØˆØŠÜ	�‰×	#Ñ	# HÔ	-ØˆØˆØŠÜ	�‰×	%Ñ	% hÔ	/ØˆØˆØŠÜ	�‰×	Ñ	˜(Ô	#Ü��r˜2ÓˆÜ��q˜!ÓˆÜ��q˜!ÓŠÜ	�‰×	Ñ	˜xÔ	(Ü�T˜1˜a  A q¨!Ó,ˆÜ�T˜1˜aÓ ˆÜ�T˜1˜a Ó#ŠÜ	�‰×	Ñ	˜hÔ	'Ü�b‹MˆÜ�a‹LˆÜ�a˜‹O‰Ü	�‰×	Ñ	˜(Ô	#Ü��A‹JˆÜ��B‹KˆÜ��R‹L‰Ü	�‰×	Ñ	˜HÔ	%ØˆØˆØ‰Ü	�‰×	Ñ	˜HÔ	%ØˆØˆØ‰Ü	�‰×	Ñ	˜XÔ	&Ü�F‹OˆÜ�E‹NˆÜ�E‹N‰ä!Ð!Ü�8‰8�Q˜˜4  q¨!¨Q°Ð2¸%Ô@Ð@r   c                óf   — t        | «      j                  | d   | d   | d   g| j                  ¬«      S )zn
    Length-3 array with a known sort order.

    This should be three items [B, C, A] with
    A < B < C
    r   é   rS   r8   rL   ©rY   s    r   Údata_for_sortingr]   È   óF   € ô Ð!Ó"×1Ñ1Ø	˜1Ñ	Ð0°Ñ3Ð5FÀqÑ5IÐJØ×%Ñ%ð 2ó ð r   c                óf   — t        | «      j                  | d   | d   | d   g| j                  ¬«      S )z{
    Length-3 array with a known sort order.

    This should be three items [B, NA, A] with
    A < B and NA missing.
    r   r   rS   r8   rL   r\   s    r   Údata_missing_for_sortingr`   Ö   r^   r   c                ót  — | j                   j                  }t        j                  j	                  |«      s]t        j                  j                  |«      s>t        j                  j                  |«      st        j                  j                  |«      r%t        j                  dgdz  | j                   ¬«      S | S )z3Length-100 array in which all the elements are two.r   r+   r8   )
r   r   r9   r:   Ú
is_integerr<   r?   rB   rG   rH   )rJ   rI   s     r   Údata_for_twosrc   ä   s{   € ð �z‰z×'Ñ'€Hä
�‰×Ñ˜HÔ%Ü�8‰8×Ñ Ô)Ü�8‰8×Ñ˜xÔ(Ü�8‰8×Ñ Ô)ä�x‰x˜˜˜b™¨¯
©
Ô3Ð3à€Kr   c                  ó  ‡ — e Zd Zd5d„Zd„ Zˆ fd„Zˆ fd„Zd„ Zd6d„Ze	j                  j                  ddd	g«      ˆ fd
„«       Zd6d„Zd7d„Zd8d„Ze	j                  j                  ddd	g«      ˆ fd„«       Ze	j                  j                  ddd	g«      ˆ fd„«       Zˆ fd„Zˆ fd„Zd„ Zˆ fd„Ze	j                  j-                  dd	¬«      ˆ fd„«       Zd„ Ze	j                  j-                  dd	¬«      ˆ fd„«       Ze	j                  j-                  dd	¬«      ˆ fd„«       Ze	j                  j                  ddeg«      e	j                  j                  dddg«      d „ «       «       Zˆ fd!„Ze	j                  j                  d"d#d$g«      ˆ fd%„«       Zd&Zd'„ Z d9d(„Z!d)„ Z"	 	 	 	 d:d*„Z#d+„ Z$ˆ fd,„Z%ˆ fd-„Z&d.„ Z'ˆ fd/„Z(e	j                  jS                  d0«      ˆ fd1„«       Z*e	j                  jS                  d0«      ˆ fd2„«       Z+ˆ fd3„Z,ˆ fd4„Z-ˆ xZ.S );ÚTestArrowArrayc                 ó   — y)NF© )ÚselfrJ   s     r   Ú_honors_copy_keywordz#TestArrowArray._honors_copy_keywordõ   s   € Ør   c                ó®  — |j                   }|dk(  rt        d«      }n%|dk(  r t        |t        |«      «      rt        d«      }t        |t        |«      «      rG|j	                  t        t        |«      t        |«      d¬«      D ��cg c]
  \  }}||z   ‘Œ c}}|¬«      S |j	                  t        |«      D �cg c]  }||z   ‘Œ	 c}|¬«      S c c}}w c c}w )Núbool[pyarrow]úint64[pyarrow]zint8[pyarrow]T)Ústrictr8   )r   r   Ú
isinstancerM   rN   ÚzipÚlist)rh   ÚleftÚrightr   r-   r.   s         r   Ú_construct_for_combine_addz)TestArrowArray._construct_for_combine_addø   sÎ   € Ø—
‘
ˆð �OÒ#Ü Ð!1Ó2‰EØ�oÒ%¬*°U¼DÀ»JÔ*GÜ Ð!1Ó2ˆEä�eœT $›ZÔ(Ø×&Ñ&Ü%(¬¨d«´T¸%³[ÈÔ%N×O™6˜A˜q��Q“ÓOØð 'ó ð ð
 ×&Ñ&Ü$(¨£JÖ/˜q��U“Ò/Øð 'ó ð ùó	 Pùò
 0s   ÂC
Â7Cc                óì  •— |j                   j                  }t        j                  j	                  |«      r4|j                  t        j                  j                  d|› d�¬«      «       n{|syt        j                  j                  |«      r|j                  �t        j                  j                  |«      r/|j                  t        j                  j                  d¬«      «       t        ‰| �5  |«       y )NzFor z .astype(str) decodes.©Úreasonz8pd.Timestamp/pd.Timedelta repr different from numpy repr)r   r   r9   r:   rE   ÚapplymarkerÚpytestÚmarkÚxfailrA   ÚtzrB   ÚsuperÚtest_astype_str)rh   rJ   r   Úusing_infer_stringrI   Ú	__class__s        €r   r}   zTestArrowArray.test_astype_str  s¿   ø€ Ø—:‘:×+Ñ+ˆÜ�8‰8×Ñ˜hÔ'Ø×ÑÜ—‘×!Ñ!Ø! ( Ð+AÐBð "ó õñ
 $Ü�X‰X×"Ñ" 8Ô,°·±Ð1DÜ�x‰x×#Ñ# HÔ-à×ÑÜ—‘×!Ñ!ØUð "ó ôô
 	‰Ñ Õ%r   c                óx  •— |j                   j                  }t        j                  j	                  |«      st        j                  j                  |«      rVt        j                  j	                  |«      rd}nd|› �}|j                  t        j                  j                  |¬«      «       t        ‰| �-  |«       y )Nz1ArrowDtype(pa.string()) != StringDtype('pyarrow')ú$pyarrow.type_for_alias cannot infer ru   )r   r   r9   r:   rD   r?   rw   rx   ry   rz   r|   Útest_from_dtype)rh   rJ   r   rI   rv   r   s        €r   r‚   zTestArrowArray.test_from_dtype  s�   ø€ Ø—:‘:×+Ñ+ˆÜ�8‰8×Ñ˜hÔ'¬2¯8©8×+>Ñ+>¸xÔ+HÜ�x‰x×!Ñ! (Ô+ØL‘à?À¸zÐJ�à×ÑÜ—‘×!Ñ!Ø!ð "ó ôô
 	‰Ñ Õ%r   c                ó–  —  t        ||«      |¬«      }|j                  j                  }t        j                  j                  |«      r6|j                  dk(  rd}nd}|j                  |«      }|j                  |«      }|j                  d«      } t        |j                  d«      |«      |¬«      }t        j                  ||d¬«       y )N©Úskipnaé    zint32[pyarrow]rl   ÚFloat64F)Úcheck_dtype)
Úgetattrr   r   r9   r:   Úis_temporalÚ	bit_widthÚastypeÚtmÚassert_series_equal)rh   ÚserÚop_namer…   ÚresultÚpa_typeÚint_typeÚexpecteds           r   Úcheck_accumulatezTestArrowArray.check_accumulate.  s¦   € Ø&”˜˜gÓ&¨fÔ5ˆà—)‘)×)Ñ)ˆÜ�8‰8×Ñ Ô(à× Ñ  BÒ&Ø+‘à+�Ø—*‘*˜XÓ&ˆCØ—]‘] 8Ó,ˆFà—‘˜yÓ)ˆØ:”7˜3Ÿ:™: iÓ0°'Ó:À&ÔIˆÜ
×Ñ˜v x¸UÖCr   c                óâ  — |j                   j                  }t        j                  j	                  |«      st        j                  j                  |«      r|dv ryyt        j                  j                  |«      r|dk(  ryyt        j                  j                  |«      r|dv ryyt        j                  j                  |«      r+|dk(  r t        j                  j                  |«      sy|dk(  ryy)N)ÚcumsumÚcumprodÚcummaxÚcumminFr˜   )r˜   r™   rš   r—   T)
r   r   r9   r:   rE   r?   rD   r;   rŠ   rB   )rh   r�   r�   r’   s       r   Ú_supports_accumulationz%TestArrowArray._supports_accumulation?  sÎ   € ð —)‘)×)Ñ)ˆä�8‰8×Ñ˜gÔ&¬"¯(©(×*=Ñ*=¸gÔ*FØÐCÑCØð ô �X‰X×Ñ Ô(Ø˜)Ò#Øð ô �X‰X× Ñ  Ô)ØÐ9Ñ9Øð ô �X‰X×!Ñ! 'Ô*Ø˜(Ò"¬2¯8©8×+?Ñ+?ÀÔ+HØØ˜IÒ%ØØr   r…   TFc                ó  •— |j                   j                  }|}t        j                  j	                  |«      r|dv ry t        j                  |«      }| j                  ||«      st        ‰| �%  |||«      S |dk(  rwt        j                  j                  |«      st        j                  j                  |«      r9|j                  t        j                  j                  |› d|› �t         ¬«      «       | j#                  |||«       y )N)r—   rš   r™   r—   z not implemented for )rv   Úraises)r   r   r9   r:   rD   rG   ÚSeriesr›   r|   Útest_accumulate_seriesr;   r?   rw   rx   ry   rz   Ú	TypeErrorr•   )	rh   rJ   Úall_numeric_accumulationsr…   r   r’   r�   r�   r   s	           €r   rŸ   z%TestArrowArray.test_accumulate_seriesT  sæ   ø€ à—*‘*×*Ñ*ˆØ+ˆä�8‰8×Ñ˜gÔ&¨7Ð6TÑ+Tð ä�i‰i˜‹oˆà×*Ñ*¨3°Ô8ä‘7Ñ1ØÐ/°óð ð %¨Ò0Ü�H‰H×Ñ Ô(¬B¯H©H×,?Ñ,?ÀÔ,Hà×ÑÜ—‘×!Ñ!Ø7Ð8Ð8MÈgÈYÐWÜ$ð "ó ôð 	×Ñ˜c 7¨FÕ3r   c                óv  — t         r|dv ry|j                  }|j                  }t        j                  j                  |«      r)|dv r%t        j                  j                  |«      r|dv rnhyt        j                  j                  |«      r|dv ryt        j                  j                  |«      st        j                  j                  |«      r|dv ryt        j                  j                  |«      r$t        j                  j                  |«      s|dv ryt        j                  j                  |«      r|dv ryy	)
N©ÚskewÚkurtF)ÚsumÚvarÚprodr¤   r¥   )r¦   )r¦   r¤   r¥   ÚanyÚall)
ÚmeanÚmedianr¨   ÚstdÚsemr§   r¤   r¥   r©   rª   )r©   rª   )r¬   r­   r§   r¤   r¥   r®   T)
r   r   r   r9   r:   rŠ   rB   rE   rD   r;   )rh   r�   r�   r   rI   s        r   Ú_supports_reductionz"TestArrowArray._supports_reductionr  s  € Ý GÐ/?Ñ$?Øà—	‘	ˆð ×&Ñ&ˆÜ�8‰8×Ñ Ô)¨gð :
ñ /
ô �x‰x×#Ñ# HÔ-°'¸WÑ2DààÜ�X‰X×Ñ Ô)¨gð :
ñ /
ð ä�H‰H×Ñ˜xÔ(¬B¯H©H×,>Ñ,>¸xÔ,HØð 
ñ 
ð ô �H‰H× Ñ  Ô*Ü—H‘H×(Ñ(¨Ô2Ø˜>Ñ)ð
 ä�8‰8×Ñ˜xÔ(¨Wð 9
ñ .
ð àr   c                óœ  — |j                   j                  }t        j                  j	                  |«      st        j                  j                  |«      r|j                  d«      }n|}|dk(  r# t        ||«      «       } t        ||«      «       }n& t        ||«      |¬«      } t        ||«      |¬«      }t        j                  ||«       y )Nr‡   Úcountr„   )
r   r   r9   r:   rb   r<   rŒ   r‰   r�   Úassert_almost_equal)rh   r�   r�   r…   rI   Úaltr‘   r”   s           r   Úcheck_reducezTestArrowArray.check_reduce´  s­   € ð —9‘9×*Ñ*ˆÜ�8‰8×Ñ˜xÔ(¬B¯H©H×,@Ñ,@ÀÔ,JØ—*‘*˜YÓ'‰Cð
 ˆCð �gÒØ*”W˜S 'Ó*Ó,ˆFØ,”w˜s GÓ,Ó.‰Hà*”W˜S 'Ó*°&Ô9ˆFØ,”w˜s GÓ,°FÔ;ˆHÜ
×Ñ˜v xÕ0r   c                óª  — |j                   j                  }|dv r|j                  }|S t        j                  j                  |«      �r1|dv �rt        j                  j                  |«      r|j                  }|S t        j                  j                  |«      r t        t        j                  d«      «      }|S t        j                  j                  |«      r t        t        j                  d«      «      }|S t        j                  j                  |«      r*t        t        j                  |j                  «      «      }|S t        t        j                  |j                  «      «      }|S |j                  }|S |j                  j                  dk(  rB|dk(  r't        s!t        t        j                  dd«      «      }|S |d	vr|j                  }|S d
}|S |dv rd
}|S |dv r#t        j                  j!                  |«      rd}|S |dk(  r-t        j                  j#                  |«      r|j                  }|S ddd
dœ|j                  j$                     }|S )N)ÚmaxÚmin)r­   r®   ÚsÚmszdecimal128(7, 3)[pyarrow]r¦   é&   é   )r¬   r§   r­   r®   r¤   r¥   úfloat64[pyarrow])r¬   r§   r­   r«   r¤   r¥   r®   )r¦   r¨   zuint64[pyarrow]rl   )ÚiÚuÚf)Ú	_pa_arrayrM   r   r9   r:   rŠ   rB   Ú	is_date32r   ÚdurationÚ	is_date64rC   ÚunitÚnamer   Ú
decimal128r;   rD   Úkind)rh   Úarrr�   r…   r’   Ú	cmp_dtypes         r   Ú_get_expected_reduction_dtypez,TestArrowArray._get_expected_reduction_dtypeÉ  s.  € Ø—-‘-×$Ñ$ˆà�nÑ$ØŸ	™	ˆIðF ÐôE �X‰X×!Ñ! 'Õ*Ø˜.Ò(Ü—8‘8×'Ñ'¨Ô0Ø #§	¡	�Ið> Ðô= —X‘X×'Ñ'¨Ô0Ü *¬2¯;©;°sÓ+;Ó <�Ið: Ðô9 —X‘X×'Ñ'¨Ô0Ü *¬2¯;©;°tÓ+<Ó =�Ið6 Ðô5 —X‘X×%Ñ% gÔ.Ü *¬2¯;©;°w·|±|Ó+DÓ E�Ið2 Ðô/ !+¬2¯;©;°w·|±|Ó+DÓ E�Ið. Ðð+  ŸI™I�	ð* Ðð) �Y‰Y�^‰^Ð:Ò:Ø˜%ÒÕ(<ä&¤r§}¡}°R¸Ó';Ó<�	ð" Ðð! Ð OÑOØŸI™I�	ð Ðð /�	ð Ðð ÐOÑOØ*ˆIð Ðð ˜Ñ'¬B¯H©H×,?Ñ,?ÀÔ,HØ)ˆIð Ðð ˜Ò¤"§(¡(×"4Ñ"4°WÔ"=ØŸ	™	ˆIð Ðð	 &Ø&Ø'ñð �i‰i�n‰nñ	ˆIð
 Ðr   c                ó&   •— t         ‰| �  |||«      S ©N)r|   Útest_reduce_series_numeric)rh   rJ   Úall_numeric_reductionsr…   r   s       €r   rÍ   z)TestArrowArray.test_reduce_series_numericò  s   ø€ ä‰wÑ1°$Ð8NÐPVÓWÐWr   c                óÒ   •— |}|dv rPt         rJ|j                  j                  r4t        j                  j                  |› d�¬«      }|j                  |«       t        ‰| �!  |||«      S )Nr£   z not implementedru   )	r   r   Ú_is_numericrx   ry   rz   rw   r|   Útest_reduce_frame)rh   rJ   rÎ   r…   r   r�   ry   r   s          €r   rÑ   z TestArrowArray.test_reduce_frameö  sc   ø€ à(ˆØÐ&Ñ&Õ+?Ø�z‰z×%Ò%Ü—{‘{×(Ñ(°7°)Ð;KÐ0LÐ(ÓM�Ø×#Ñ# DÔ)Ü‰wÑ(¨Ð/EÀvÓNÐNr   c                óÂ  •— |j                   }t        j                  j                  |«      r7|j	                  t
        j                  j                  t        d|› �¬«      «       t        j                  j                  |«      rBd}t        j                  t        |¬«      5  |j                  |j                  «       d d d «       y t        ‰| �=  |«       y # 1 sw Y   y xY w)Nr�   ©r�   rv   z6string\[pyarrow\] should be constructed by StringDtype©Úmatch)r   r9   r:   r?   rw   rx   ry   rz   rF   rD   r�   r    Úconstruct_from_stringrÅ   r|   Ú#test_construct_from_string_own_name)rh   r   r   rI   Úmsgr   s        €r   r×   z2TestArrowArray.test_construct_from_string_own_nameÿ  s²   ø€ Ø×&Ñ&ˆÜ�8‰8×Ñ˜xÔ(Ø×ÑÜ—‘×!Ñ!Ü.ØAÀ(ÀÐLð "ó ôô �8‰8×Ñ˜hÔ'àKˆCÜ—‘œy°Ô4ñ 8Ø×+Ñ+¨E¯J©JÔ7÷8ð ä‰Ñ3°EÕ:÷8ð ús   Â CÃCc                ót  •— |j                   }t        j                  j                  |«      r't	        |«      j                  |j                  «      rJ ‚y t        j                  j                  |«      r7|j                  t        j                  j                  t        d|› �¬«      «       t        ‰| �9  |«       y )Nr�   rÓ   )r   r9   r:   rD   rM   Úis_dtyperÅ   r?   rw   rx   ry   rz   rF   r|   Útest_is_dtype_from_name)rh   r   r   rI   r   s       €r   rÛ   z&TestArrowArray.test_is_dtype_from_name  s’   ø€ Ø×&Ñ&ˆÜ�8‰8×Ñ˜hÔ'ä˜E“{×+Ñ+¨E¯J©JÔ7Ð7Ð7Ð7ä�x‰x×"Ñ" 8Ô,Ø×#Ñ#Ü—K‘K×%Ñ%Ü2Ø!EÀhÀZÐPð &ó ôô ‰GÑ+¨EÕ2r   c                óœ   — d}t        j                  t        |¬«      5  t        |«      j	                  d«       d d d «       y # 1 sw Y   y xY w)Nz*'another_type' must end with '\[pyarrow\]'rÔ   Úanother_type)rx   r�   r    rM   rÖ   )rh   r   rØ   s      r   Ú.test_construct_from_string_another_type_raisesz=TestArrowArray.test_construct_from_string_another_type_raises"  s<   € Ø;ˆÜ�]‰]œ9¨CÔ0ñ 	>Ü�‹K×-Ñ-¨nÔ=÷	>÷ 	>ñ 	>ús   žAÁAc                ó–   •— |j                   }t        j                  j                  |«      rt	        |«      sJ ‚y t
        ‰| �  |«       y rÌ   )r   r9   r:   rD   r   r|   Útest_is_not_string_type)rh   r   rI   r   s      €r   rà   z&TestArrowArray.test_is_not_string_type'  s;   ø€ Ø×&Ñ&ˆÜ�8‰8×Ñ˜hÔ'Ü" 5Ô)Ð)Ñ)ä‰GÑ+¨EÕ2r   z6GH 45419: pyarrow.ChunkedArray does not support views.)rv   Úrunc                ó$   •— t         ‰| �  |«       y rÌ   )r|   Ú	test_view©rh   rJ   r   s     €r   rã   zTestArrowArray.test_view.  s   ø€ ô 	‰Ñ˜$Õr   c                ó�   — ||j                  «           }|d   }|j                  |«      }||usJ ‚t        j                  ||«       y )Nr   )ÚisnaÚfillnar�   Úassert_extension_array_equal)rh   rJ   Úvalidr‘   s       r   Útest_fillna_no_op_returns_copyz-TestArrowArray.test_fillna_no_op_returns_copy4  sI   € Ø�T—Y‘Y“[�LÑ!ˆà�Q‘ˆØ—‘˜UÓ#ˆØ˜TÑ!Ð!Ð!Ü
×'Ñ'¨°Õ5r   z5GH 45419: pyarrow.ChunkedArray does not support viewsc                ó$   •— t         ‰| �  |«       y rÌ   )r|   Útest_transposerä   s     €r   rì   zTestArrowArray.test_transpose<  s   ø€ ô 	‰Ñ˜tÕ$r   c                ó$   •— t         ‰| �  |«       y rÌ   )r|   Útest_setitem_preserves_viewsrä   s     €r   rî   z+TestArrowArray.test_setitem_preserves_viewsB  s   ø€ ô 	‰Ñ,¨TÕ2r   Údtype_backendr   ÚenginerT   Úpythonc           	     ó$  — |j                   j                  }t        j                  j	                  |«      r9|j                  t        j                  j                  t        d|› d�¬«      «       n°t        j                  j                  |«      rC|j                  dv r5|j                  t        j                  j                  t        d¬«      «       nNt        j                  j                  |«      r/|j                  t        j                  j                  d¬«      «       t        j                  dt        j                   |t#        |j                   «      ¬	«      i«      }|s|j%                  d
d¬«      }n!|j%                  d
t&        j(                  ¬«      }t        j                  j                  |«      rt+        |«      }nt-        |«      }t        j.                  |dt#        |j                   «      i||¬«      }	|}
t1        j2                  |	|
«       y )NzParameterized types z not supported.rÓ   )ÚusÚnsz1https://github.com/pandas-dev/pandas/issues/49767z)CSV parsers don't correctly handle binaryru   Ú
with_dtyper8   FÚNA)ÚindexÚna_rep)r   rð   rï   )r   r   r9   r:   r?   rw   rx   ry   rz   rF   rA   rÄ   Ú
ValueErrorrE   rG   Ú	DataFramerž   ÚstrÚto_csvÚnpÚnanr	   r
   Úread_csvr�   Úassert_frame_equal)rh   rð   rJ   rï   r   Úusing_nan_is_narI   ÚdfÚ
csv_outputr‘   r”   s              r   Útest_EA_typeszTestArrowArray.test_EA_typesH  s’  € ð —:‘:×+Ñ+ˆÜ�8‰8×Ñ˜xÔ(Ø×ÑÜ—‘×!Ñ!Ü.Ø1°(°¸?ÐKð "ó õô �X‰X×"Ñ" 8Ô,°·±À,Ñ1NØ×ÑÜ—‘×!Ñ!Ü%ØNð "ó õô �X‰X×Ñ Ô)Ø×ÑÜ—‘×!Ñ!Ð)TÐ!ÓUôô �\‰\˜<¬¯©°4¼sÀ4Ç:Á:»Ô)OÐPÓQˆÙØŸ™¨°t˜Ó<‰JàŸ™¨´r·v±v˜Ó>ˆJÜ�8‰8×Ñ˜hÔ'Ü  Ó,‰Jä! *Ó-ˆJÜ—‘ØØ¤ T§Z¡Z£Ð1ØØ'ô	
ˆð ˆÜ
×Ñ˜f hÕ/r   c                óX  •— |j                   j                  }t        j                  j	                  |«      st        j                  j                  |«      s`t        j                  j                  |«      sA|j                  t        j                  j                  t        j                  d|› �¬«      «       t        rTt        j                  j	                  |«      r5t        j                  t        dd¬«      5  t         ‰| �E  |«       d d d «       y t         ‰| �E  |«       y # 1 sw Y   y xY w)Nz$pyarrow.compute.invert does support rÓ   zBitwise inversionF)rÕ   Úcheck_stacklevel)r   r   r9   r:   r;   rb   rD   rw   rx   ry   rz   ÚArrowNotImplementedErrorr   r�   Úassert_produces_warningÚDeprecationWarningr|   Útest_invert©rh   rJ   r   rI   r   s       €r   r
  zTestArrowArray.test_invertp  så   ø€ Ø—:‘:×+Ñ+ˆä�H‰H×Ñ Ô)Ü�x‰x×"Ñ" 8Ô,Ü�x‰x×!Ñ! (Ô+à×ÑÜ—‘×!Ñ!Ü×6Ñ6ØAÀ(ÀÐLð "ó ôõ ”R—X‘X×(Ñ(¨Ô2Ü×+Ñ+Ü"Ð*=ÐPUôñ *ô ‘Ñ# DÔ)÷*ð *ô
 ‰GÑ Õ%÷*ð *ús   Ã7D Ä D)Úperiodsr    r!   c           
     ó$  •— |j                   j                  }t        j                  j	                  |«      rJ|dk(  rE|j                  t        j                  j                  t        j                  d|› d|› d�¬«      «       t        ‰| �-  ||«       y )Nr    z
diff with z and periods=z will overflowrÓ   )r   r   r9   r:   r>   rw   rx   ry   rz   ÚArrowInvalidr|   Ú	test_diff)rh   rJ   r  r   rI   r   s        €r   r  zTestArrowArray.test_diff…  sy   ø€ à—:‘:×+Ñ+ˆÜ�8‰8×'Ñ'¨Ô1°gÀ²lØ×ÑÜ—‘×!Ñ!ÜŸ?™?à$ X J¨m¸G¸9ÀNÐSð "ó ôô 	‰Ñ˜$ Õ(r   rk   c                ór   — |j                  d«      }|dk(  rd„ }|S |dk(  rd„ S t        j                  |«      S )NÚ_Úrtruedivc                ó.   — t        j                  || «      S rÌ   )rý   Údivide©ÚxÚys     r   r  z1TestArrowArray.get_op_from_name.<locals>.rtruedivš  s   € Ü—y‘y  A“Ð&r   Ú	rfloordivc                ó.   — t        j                  || «      S rÌ   )rý   Úfloor_divider  s     r   ú<lambda>z1TestArrowArray.get_op_from_name.<locals>.<lambda>Ÿ  s   € ¤§¡°°1Ó 5€ r   )Ústripr�   Úget_op_from_name)rh   r�   Úshort_opnamer  s       r   r  zTestArrowArray.get_op_from_name•  sC   € Ø—}‘} SÓ)ˆØ˜:Ò%ò'ð ˆOØ˜[Ò(Ù5Ð5ä×"Ñ" 7Ó+Ð+r   c                óJ  — |}|dv r|j                  d«      S t        j                  |«      }d}t        |t        j
                  «      rd}|j                  d d …df   }n|}t        |«      t        u r5|dvr1|j                  dk(  r|j                  d«      S |j                  d	«      S t        |«      t        u r|j                  d«      S |j                  }	|sÝt        |t        j                  «      rÃt        j                  j                  |	«      �sEt        j                  j!                  |	«      r|d
v�s!t        j                  j#                  |	«      �st        j                  j%                  |	«      sât        j                  j'                  |	«      sÃt        j                  j)                  |	«      s¤|S |dk(  rt        j                  j!                  |	«      s~t        j                  j#                  |	«      s_t        j                  j%                  |	«      s@t        j                  j'                  |	«      s!t        j                  j)                  |	«      s|S t        j+                  |j,                  «      }
t        j                  j)                  |
j                  «      �rt        j                  j)                  |	«      rô t/        ||«      |«      }t        j                  |«      }t        |t0        «      sJ ‚|dk(  r.t        |t2        «      rt1        t        j5                  «       «      }nw|dk(  rGt        |t        j                  «      r-|j6                  |k(  rt1        t        j5                  «       «      }n+t        j                  j)                  |j                  «      sJ ‚|j                  |«      S |
j9                  |	«      }
 t        |j,                  «      |
«      }|r.t	        j
                  ||j:                  |j<                  ¬«      }|S t	        j                  |«      }|S )N)ÚeqÚneÚltÚleÚgtÚgezboolean[pyarrow]FTr   )Ú__floordiv__r¿   r¼   rl   )Ú__truediv__Ú__rtruediv__r&  Ú__pow__)r÷   Úcolumns)rŒ   r�   Ú	get_dtypern   rG   rú   ÚilocrM   ÚintrÇ   Úfloatr   rž   r9   r:   r<   rb   rB   rA   r@   r?   rH   Ú_valuesr‰   r   r   Úfloat64r   Úcastr÷   r*  )rh   r�   ÚobjÚotherÚpointwise_resultr”   Úoriginal_dtypeÚ	was_frameÚexpected_dataÚorig_pa_typeÚpa_expectedr³   Ú	alt_dtypeÚpd_expecteds                 r   Ú_cast_pointwise_resultz%TestArrowArray._cast_pointwise_result¥  s  € ð $ˆàÐ:Ñ:Ø#×*Ñ*Ð+=Ó>Ð>äŸ™ hÓ/ˆàˆ	Ü�h¤§¡Ô-ØˆIØ$ŸM™Mª!¨Q¨$Ñ/‰Mà$ˆMô �‹;œ#Ñ 'Ð1AÑ"AØ×"Ñ" cÒ)Ø—‘Ð'9Ó:Ð:à—‘Ð'7Ó8Ð8Ü�%‹[œEÑ!Ø—?‘?Ð#5Ó6Ð6ð &×3Ñ3ˆÙœZ¨¬r¯y©yÔ9ô —‘×$Ñ$ \Õ2ä—H‘H×'Ñ'¨Ô5ØÐ'FÒFä—8‘8×'Ñ'¨Õ5Ü—8‘8×(Ñ(¨Ô6Ü—8‘8×#Ñ# LÔ1Ü—8‘8×&Ñ& |Ô4ð  �à˜Ò&¬2¯8©8×+>Ñ+>¸|Ô+LÜ�x‰x×#Ñ# LÔ1Ü�x‰x×$Ñ$ \Ô2Ü�x‰x×Ñ Ô-Ü�x‰x×"Ñ" <Ô0ð ˆOä—h‘h˜}×4Ñ4Ó5ˆä�8‰8×Ñ˜{×/Ñ/Õ0´R·X±X×5HÑ5HÈÔ5Vð (”'˜#˜wÓ'¨Ó.ˆCÜŸ™ SÓ)ˆIÜ˜i¬Ô4Ð4Ð4Ø˜)Ò#¬
°5¼'Ô(Bä&¤r§z¡z£|Ó4‘	à˜9Ò$Ü˜u¤b§i¡iÔ0Ø—K‘K >Ò1ô '¤r§z¡z£|Ó4‘	ä—x‘x×*Ñ*¨9×+BÑ+BÔCÐCÐCØ—?‘? 9Ó-Ð-ð &×*Ñ*¨<Ó8ˆKà1”d˜=×0Ñ0Ó1°+Ó>ˆÙÜ—|‘|Ø 8§>¡>¸8×;KÑ;KôˆHð
 ˆô —y‘y Ó-ˆHØˆr   c                óš   — |dv xr t         j                  j                  |«      xs% |dv xr t         j                  j                  |«      S )N)Ú__add__Ú__radd__r'  r(  r&  Ú__rfloordiv__©Ú__sub__Ú__rsub__)r9   r:   rB   rŠ   )rh   ÚopnamerI   s      r   Ú_is_temporal_supportedz%TestArrowArray._is_temporal_supported  sS   € àððò 	/ô —‘×$Ñ$ XÓ.òTð Ð/Ð/ÒR´B·H±H×4HÑ4HÈÓ4Rð	Tr   c                ó  — |dv rt         t        fS t        j                  |«      }|j                  }| j                  ||«      }|dv rt         t        f}|S |rd }|S |dv rBt        j                  j                  |«      st        j                  j                  |«      rd }|S t        j                  j                  |«      sFt        j                  j                  |«      s't        j                  j                  |«      st        }|S d }|S )N)Ú
__divmod__Ú__rdivmod__>   Ú__mod__Ú__rmod__)r>  r?  )rF   r    r�   r+  r   rE  r9   r:   rD   rE   r<   rb   r?   )rh   r�   r2  r3  r   rI   Úarrow_temporal_supportedÚexcs           r   Ú_get_expected_exceptionz&TestArrowArray._get_expected_exception  s  € ð Ð3Ñ3Ü'¬Ð3Ð3ô —‘˜SÓ!ˆð ×&Ñ&ˆà#'×#>Ñ#>¸wÈÓ#QÐ Øð 
ñ 
ô '¬	Ð2ˆCð ˆ
ñ &ØˆCð ˆ
ð Ð/Ñ/Ü�H‰H×Ñ˜xÔ(¬B¯H©H×,>Ñ,>¸xÔ,HàˆCð ˆ
ô �H‰H× Ñ  Ô*Ü�x‰x×"Ñ" 8Ô,Ü�x‰x×"Ñ" 8Ô,äˆCð ˆ
ð ˆCØˆ
r   c                ó¬  — d }| j                  ||«      }|dk(  r‚t        j                  j                  |«      s>t        j                  j	                  |«      st        j                  j                  |«      r%t        j                  j                  d|› �¬«      }|S |rot        j                  j                  |«      s#|dv rLt        j                  j                  |«      r-t        j                  j                  t        |› d|› d�¬«      }|S |dk(  rot        j                  j	                  |«      st        j                  j                  |«      r1t        j                  j                  t        j                  d	¬«      }|S |d
k(  rNt        j                  j                  |«      r/t        j                  j                  t        j                  d	¬«      }|S )NÚ__rpow__z<GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for ru   )r'  r(  r&  r@  z  not supported betweenpd.NA and z Python scalarrÓ   r@  zdivide by 0r(  )rE  r9   r:   r<   rb   r?   rx   ry   rz   rC   rB   r    r  )rh   rD  rI   ry   rK  s        r   Ú_get_arith_xfail_markerz&TestArrowArray._get_arith_xfail_marker1  s�  € Øˆà#'×#>Ñ#>¸vÀxÓ#PÐ à�ZÒÜ�H‰H× Ñ  Ô*Ü�x‰x×"Ñ" 8Ô,Ü�x‰x×"Ñ" 8Ô,ä—;‘;×$Ñ$ðØ#˜*ð&ð %ó ˆDðB ˆñ7 &Ü�H‰H×Ñ˜XÔ&àØSñTä—H‘H×(Ñ(¨Ô2ô —;‘;×$Ñ$Ü à�hÐ>¸x¸jÈÐWð %ó ˆDð& ˆð �Ò&Ü�H‰H×Ñ Ô)¬R¯X©X×-@Ñ-@ÀÔ-Jä—;‘;×$Ñ$Ü—‘Ø$ð %ó ˆDð ˆð �~Ò%¬"¯(©(×*=Ñ*=¸hÔ*GÜ—;‘;×$Ñ$Ü—‘Ø$ð %ó ˆDð
 ˆr   c                ó  •— |j                   j                  }|dk(  r4t        j                  j	                  |«      rt        j                  d«       | j                  ||«      }|�|j                  |«       t        ‰| �)  ||«       y ©NrJ  z%Skip testing Python string formatting)r   r   r9   r:   rE   rx   ÚskiprP  rw   r|   Útest_arith_series_with_scalar©rh   rJ   Úall_arithmetic_operatorsr   rI   ry   r   s         €r   rT  z,TestArrowArray.test_arith_series_with_scalar^  so   ø€ Ø—:‘:×+Ñ+ˆà# zÒ1´b·h±h×6HÑ6HÈÔ6RÜ�K‰KÐ?Ô@à×+Ñ+Ð,DÀhÓOˆØÐØ×Ñ Ô%ä‰Ñ-¨dÐ4LÕMr   c                óL  •— |j                   j                  }|dk(  rSt        j                  j	                  |«      st        j                  j                  |«      rt        j                  d«       | j                  ||«      }|�|j                  |«       t        ‰| �-  ||«       y rR  )r   r   r9   r:   rD   rE   rx   rS  rP  rw   r|   Útest_arith_frame_with_scalarrU  s         €r   rX  z+TestArrowArray.test_arith_frame_with_scalarj  s�   ø€ Ø—:‘:×+Ñ+ˆà# zÒ1Ü�H‰H×Ñ˜xÔ(¬B¯H©H×,>Ñ,>¸xÔ,Hä�K‰KÐ?Ô@à×+Ñ+Ð,DÀhÓOˆØÐØ×Ñ Ô%ä‰Ñ,¨TÐ3KÕLr   c                ó2  — |j                   j                  }|dv r`t        j                  j	                  |«      rA|j                  t        j                  j                  t        j                  d|› �¬«      «       | j                  ||«      }|�|j                  |«       |}t        j                  |«      }t        j                  t        j                  |j                  d   gt        |«      z  |j                   ¬«      «      }| j!                  |||«       y )NrA  zJImplemented pyarrow.compute.subtract_checked which raises on overflow for rÓ   r   r8   )r   r   r9   r:   r>   rw   rx   ry   rz   r  rP  rG   rž   rH   r,  ÚlenÚcheck_opname)	rh   rJ   rV  r   rI   ry   r�   r�   r3  s	            r   Útest_arith_series_with_arrayz+TestArrowArray.test_arith_series_with_arrayx  sí   € Ø—:‘:×+Ñ+ˆà#ð (
ñ 
ô �h‰h×*Ñ*¨8Ô4Ø×ÑÜ—‘×!Ñ!ÜŸ?™?ð8Ø8@°zðCð "ó ôð ×+Ñ+Ð,DÀhÓOˆØÐØ×Ñ Ô%à*ˆÜ�i‰i˜‹oˆô —	‘	œ"Ÿ(™( C§H¡H¨Q¡K =´3°s³8Ñ#;À4Ç:Á:ÔNÓOˆà×Ñ˜#˜w¨Õ.r   c                óô   •— |j                   j                  }|j                  d«      rA|j                  t        j
                  j                  t        j                  d|› �¬«      «       t        ‰| �)  |«       y )NÚint8zraises on overflow for rÓ   )r   r   Úequalsrw   rx   ry   rz   r9   r  r|   Ú$test_add_series_with_extension_arrayr  s       €r   r`  z3TestArrowArray.test_add_series_with_extension_array•  sc   ø€ Ø—:‘:×+Ñ+ˆà�?‰?˜6Ô"Ø×ÑÜ—‘×!Ñ!ÜŸ?™?Ø4°X°JÐ?ð "ó ôô 	‰Ñ4°TÕ:r   zMignore:The default formatting of datetime/timedelta values:DeprecationWarningc                óx  •— |j                   t        t        j                  «       «      t        t        j	                  «       «      fv r	 t
        ‰| �  |«       y t
        ‰| �  |«       y # t        $ rG}dt        |«      v r4|j                  t        j                  j                  t        d¬«      «       ‚ d }~ww xY w)Nú as_unit not implemented for daterÓ   )r   r   r9   Údate32Údate64r|   Útest_values_for_jsonrF   rû   rw   rx   ry   rz   ©rh   rJ   r   Úerrr   s       €r   re  z#TestArrowArray.test_values_for_json¡  s›   ø€ ð �:‰:œ*¤R§Y¡Y£[Ó1´:¼b¿i¹i»kÓ3JÐKÑKðÜ‘Ñ,¨TÕ2ô ‰GÑ(¨Õ.øô 'ò Ø5¼¸S»ÑAØ×'Ñ'ÜŸ™×)Ñ)Ü#6Ø#Eð *ó ôð ûðús   Á	A) Á)	B9Á2AB4Â4B9c                óö  •— |j                   j                  dv rdt        |j                   «      vsF|j                   t        t        j                  «       «      t        t        j                  «       «      fv r	 t        ‰| �!  |«       y t        ‰| �!  |«       y # t        $ r‰}dt        |«      v r5|j                  t        j                  j                  t        d¬«      «       ‚ dt        |«      v r4|j                  t        j                  j                  t        d¬«      «       ‚ d }~wt        $ rG}dt        |«      v r4|j                  t        j                  j                  t        d¬«      «       ‚ d }~ww xY w)NÚMmr¹   rb  rÓ   z;Localizing Timestamps which are outside the range of PythonzhLocalizing Timestamps which are outside the range of Python's standard library datetime is not supportedzSeries are different)r   rÇ   rû   r   r9   rc  rd  r|   Útest_json_roundtriprF   rw   rx   ry   rz   ÚAssertionErrorrf  s       €r   rj  z"TestArrowArray.test_json_roundtrip¹  sH  ø€ ð �Z‰Z�_‰_ Ñ$¨4´s¸4¿:¹:³Ñ+FØ�J‰Jœ:¤b§i¡i£kÓ2´J¼r¿y¹y»{Ó4KÐLÑLð!Ü‘Ñ+¨DÕ1ôD ‰GÑ'¨Õ-øôC 'ò à5¼¸S»ÑAØ×'Ñ'ÜŸ™×)Ñ)Ü#6Ø#Eð *ó ôð& ð RÜ˜“Xñð ×'Ñ'ÜŸ™×)Ñ)Ü#6ð!Vð *ó ôð ûä!ò Ø)¬S°«XÑ5Ø×'Ñ'ÜŸ™×)Ñ)Ü#1Ð:Pð *ó ôð
 ûðús&   Á8B Â	E8Â!BD%Ä%E8Ä1AE3Å3E8c                ó¨  •— d }d}|d   j                   j                  }|d   j                  «       j                  «       rFt        j
                  j                  |«      r'|j                  �t        }t        j                  d«      }|r0t        j                  ||¬«      5  t        ‰| �9  |«       d d d «       y t        ‰| �9  |«       y # 1 sw Y   y xY w)NÚ ÚDataz0Failed to convert value(s) to axis units: array(rÔ   )r   r   ræ   r©   r9   r:   rA   r{   r    ÚreÚescaperx   r�   r|   Útest_plot_on_x_axis)rh   Ú	plot_dataÚerr_clsÚerr_msgrI   r   s        €r   rq  z"TestArrowArray.test_plot_on_x_axisë  s»   ø€ ð ˆØˆð ˜VÑ$×*Ñ*×8Ñ8ˆð �VÑ×!Ñ!Ó#×'Ñ'Ô)Ü�x‰x×$Ñ$ XÔ.°8·;±;Ð3JÜ#�ÜŸ)™)Ð$VÓW�ñ Ü—‘˜w¨gÔ6ñ 7Ü‘Ñ+¨IÔ6÷7ð 7ô ‰GÑ'¨	Õ2÷7ð 7ús   ÂCÃCc                óØ  •— d }d}d }d}|d   j                   j                  }t        j                  j	                  |«      r	t
        }d}n't        j                  j                  |«      rt
        }d}|d   j                  «       j                  «       ržt        j                  j                  |«      r9t
        }t        j                  d«      }t        j                  d«       t        }d}nFt        j                  j                  |«      r'|j                   �t
        }t        j                  d«      }|rS|rQt#        j$                  |d|¬	«      5  t        j&                  ||¬
«      5  t(        ‰| �U  |«       d d d «       d d d «       y |r0t        j&                  ||¬
«      5  t(        ‰| �U  |«       d d d «       y t(        ‰| �U  |«       y # 1 sw Y   ŒTxY w# 1 sw Y   y xY w# 1 sw Y   y xY w)Nrm  rn  zno numeric data to plotz@float() argument must be a string or a real number, not 'NAType'Ú
matplotlibz,Warning: converting a masked element to nan.z<Failed to convert value(s) to axis units: masked_array(data=F)r  rÕ   rÔ   )r   r   r9   r:   rD   r    rE   ræ   r©   rC   ro  rp  rx   ÚimportorskipÚUserWarningrA   r{   r�   r  r�   r|   Útest_plot_on_y_axis)rh   rr  rs  rt  Úwrn_clsÚwrn_msgrI   r   s          €r   ry  z"TestArrowArray.test_plot_on_y_axis  s«  ø€ ð ˆØˆØˆØˆð ˜VÑ$×*Ñ*×8Ñ8ˆô �8‰8×Ñ˜hÔ'ÜˆGØ/‰GÜ�X‰X×Ñ Ô)ÜˆGØ/ˆGð �VÑ×!Ñ!Ó#×'Ñ'Ô)Ü�x‰x×Ñ Ô)Ü#�ÜŸ)™)ØVó�ô ×#Ñ# LÔ1Ü%�ØH‘Ü—‘×&Ñ& xÔ0°X·[±[Ð5LÜ#�ÜŸ)™)ØRó�ñ ‘wÜ×+Ñ+Ø¨%°wôñ ;ô —]‘] 7°'Ô:ñ ;Ü‘GÑ/°	Ô:÷;÷;ð ;ñ
 Ü—‘˜w¨gÔ6ñ 7Ü‘Ñ+¨IÔ6÷7ð 7ô ‰GÑ'¨	Õ2÷;ð ;ú÷;ð ;ú÷7ð 7ús0   ÅGÅ%GÅ5GÆG ÇG	ÇGÇGÇ G))ÚreturnÚbool)r�   ú	pd.Seriesr�   rû   r|  r}  )r�   r~  r�   rû   r…   r}  )r�   rû   r…   r}  )r�   rû   )r�   rû   r|  z4type[Exception] | tuple[type[Exception], ...] | None)/Ú__name__Ú
__module__Ú__qualname__ri   rs   r}   r‚   r•   r›   rx   ry   ÚparametrizerŸ   r¯   r´   rÊ   rÍ   rÑ   r×   rÛ   rÞ   rà   rz   rã   rê   rì   rî   r   r  r
  r  Ú_combine_le_expected_dtyper  r<  rE  rM  rP  rT  rX  r\  r`  Úfilterwarningsre  rj  rq  ry  Ú__classcell__)r   s   @r   re   re   ô   sr  ø„ óòô(&ô&&òDó"ð* ‡[�[×Ñ˜X¨¨e }Ó5ó4ó 6ð4ó:@óD1ó*'ðR ‡[�[×Ñ˜X¨¨e }Ó5óXó 6ðXð ‡[�[×Ñ˜X¨¨e }Ó5óOó 6ðOô;ô(3ò>ô
3ð ‡[�[×ÑØGÈUð ó ó óð ò6ð ‡[�[×ÑØFÈEð ó ó%óð%ð ‡[�[×ÑØFÈEð ó ó3óð3ð ‡[�[×Ñ˜_¨y¸*Ð.EÓFØ‡[�[×Ñ˜X¨¨X Ó7ñ$0ó 8ó Gð$0ôL&ð* ‡[�[×Ñ˜Y¨¨B¨Ó0ó)ó 1ð)ð "1Ðò,ó ZòxTð Øð à	=ó òD+ôZ
NôMò/ô:
;ð ‡[�[×ÑØWóó/óð/ð* ‡[�[×ÑØWóó-.óð-.ô^3÷,23ð 23r   re   )3Ú__doc__Ú
__future__r   r   r   r   r   Údecimalr   Úior	   r
   ro  Únumpyrý   rx   Úpandas.compatr   r   r   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   ÚpandasrG   Úpandas._testingÚ_testingr�   Úpandas.api.extensionsr   Úpandas.api.typesr   Úpandas.tests.extensionr   rw  r9   Údepr_msgÚfixtureÚALL_PYARROW_DTYPESrû   r   rJ   rO   rQ   rY   r]   r`   rc   ÚExtensionTestsre   rg   r   r   ú<module>r˜     sf  ðñõ #÷ó õ ÷ó 
ã Û ÷ñ õ 3õó Ý Ý ,õõ (à€V×Ñ˜Ó#€ð F€ð €‡��r×,Ñ,°#Ô6ñ3ó 7ð3ð ‡�ñ8'ó ð8'ðv ‡�ñHó ðHð
 €‡�˜ Ð/Ô0ñó 1ðð ‡�ñ7Aó ð7Aðt ‡�ñ
ó ð
ð ‡�ñ
ó ð
ð ‡�ñó ðô3�T×(Ñ(õ 3r   