Ë
    ž…jo  ã                   ó@   — d dl mZ d dlZd dlZd dlmZ  G d„ d«      Zy)é    )ÚfinalNc                   ó¶  — e Zd ZdZdej
                  dedefd„Zdej
                  dedefd„Z	dedefd„Z
edej
                  dedefd	„«       Zej                  j                  dd
dg«      d„ «       Zej                  j#                  d«      ej                  j                  dd
dg«      d„ «       «       Zej                  j                  dd
dg«      d„ «       Zy)ÚBaseReduceTestszg
    Reduction specific tests. Generally these only
    make sense for numeric/boolean operations.
    ÚserÚop_nameÚreturnc                  ó   — y)NF© )Úselfr   r   s      úc/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/extension/base/reduce.pyÚ_supports_reductionz#BaseReduceTests._supports_reduction   s   € àó    Úskipnac                 ó$  — t        ||«      }	 |j                  d«      }t        ||«      }|dk(  r |«       } |«       }n ||¬«      } ||¬«      }t        j                  ||«       y # t        t        f$ r |j                  t        «      }Y Œow xY w)NÚfloat64Úcount©r   )ÚgetattrÚastypeÚ	TypeErrorÚ
ValueErrorÚobjectÚtmÚassert_almost_equal)	r   r   r   r   Úres_opÚaltÚexp_opÚresultÚexpecteds	            r   Úcheck_reducezBaseReduceTests.check_reduce   s‘   € ô ˜˜gÓ&ˆð	%Ø—*‘*˜YÓ'ˆCô ˜˜gÓ&ˆØ�gÒÙ“XˆFÙ“x‰Há 6Ô*ˆFÙ VÔ,ˆHÜ
×Ñ˜v xÕ0øô œ:Ð&ò 	%ð —*‘*œVÓ$ŠCð		%ús   ŽA( Á($BÂBc                 ó   — |j                   S )N©Údtype)r   Úarrr   r   s       r   Ú_get_expected_reduction_dtypez-BaseReduceTests._get_expected_reduction_dtype*   s   € ð �y‰yÐr   c                 ó@  — |j                   }t        j                  d|i«      }|dv rddini }| j                  |||«      } |j                  |f|ddœ|¤Ž} t        ||«      d	d|i|¤Žj                   }	t        j                  ||	«       |sE|j                  «       j                  «       r't        j                   t        j                  g|¬«      }
n7 t        |j                  «       |«      «       }t        j                   |g|¬«      }
t        j                  ||
«       y )
NÚa)ÚvarÚstdÚsemÚddofé   T)r   Úkeepdimsr   r"   r
   )ÚarrayÚpdÚ	DataFramer%   Ú_reducer   r   Úassert_extension_array_equalÚisnaÚanyÚNAÚdropna)r   r   r   r   r$   ÚdfÚkwargsÚ	cmp_dtypeÚresult1Úresult2r   Ú	exp_values               r   Úcheck_reduce_framez"BaseReduceTests.check_reduce_frame4   sø   € ð �i‰iˆÜ�\‰\˜3 ˜*Ó%ˆà 'Ð+@Ñ @�&˜!‘Àbˆà×6Ñ6°s¸GÀVÓLˆ	ð �#—+‘+˜gÐN¨f¸tÑNÀvÑNˆØ&”'˜"˜gÓ&Ñ?¨fÐ?¸Ñ?×EÑEˆÜ
×'Ñ'¨°Ô9ñ ˜#Ÿ(™(›*Ÿ.™.Ô*Ü—x‘x¤§¡ ¨yÔ9‰Hà6œ §
¡
£¨gÓ6Ó8ˆIÜ—x‘x  °9Ô=ˆHä
×'Ñ'¨°Õ:r   TFc                 ó  — |}t        j                  |«      }| j                  ||«      s:d}t        j                  t
        |¬«      5   t        ||«      |¬«       d d d «       y | j                  |||«       y # 1 sw Y   y xY w©NzV[Cc]annot perform|Categorical is not ordered for operation|does not support operation|)Úmatchr   ©r/   ÚSeriesr   ÚpytestÚraisesr   r   r    )r   ÚdataÚall_boolean_reductionsr   r   r   Úmsgs          r   Útest_reduce_series_booleanz*BaseReduceTests.test_reduce_series_booleanO   s}   € à(ˆÜ�i‰i˜‹oˆà×'Ñ'¨¨WÔ5ð.ð ô
 —‘œy°Ô4ñ 5Ø%”˜˜WÓ%¨VÕ4÷5ð 5ð ×Ñ˜c 7¨FÕ3÷	5ð 5úó   ÁA8Á8Bzignore::RuntimeWarningc                 ó  — |}t        j                  |«      }| j                  ||«      s:d}t        j                  t
        |¬«      5   t        ||«      |¬«       d d d «       y | j                  |||«       y # 1 sw Y   y xY wr?   rA   )r   rE   Úall_numeric_reductionsr   r   r   rG   s          r   Útest_reduce_series_numericz*BaseReduceTests.test_reduce_series_numerica   s   € ð )ˆÜ�i‰i˜‹oˆà×'Ñ'¨¨WÔ5ð.ð ô
 —‘œy°Ô4ñ 5Ø%”˜˜WÓ%¨VÕ4÷5ð 5ð
 ×Ñ˜c 7¨FÕ3÷5ð 5úrI   c                 óè   — |}t        j                  |«      }|dk(  rt        j                  |› d�«       | j	                  ||«      st        j                  d|› d�«       | j                  |||«       y )Nr   z not an array methodz
Reduction z not supported for this dtype)r/   rB   rC   Úskipr   r=   )r   rE   rK   r   r   r   s         r   Útest_reduce_framez!BaseReduceTests.test_reduce_frameu   sh   € à(ˆÜ�i‰i˜‹oˆà�gÒÜ�K‰K˜7˜)Ð#7Ð8Ô9à×'Ñ'¨¨WÔ5Ü�K‰K˜* W IÐ-JÐKÔLà×Ñ  W¨fÕ5r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r/   rB   ÚstrÚboolr   r    r%   r   r=   rC   ÚmarkÚparametrizerH   ÚfilterwarningsrL   rO   r
   r   r   r   r   	   s  „ ñð
 r§y¡yð ¸3ð À4ó ð1 §	¡	ð 1°Cð 1Àó 1ð.¸#ð Àtó ð ð; b§i¡ið ;¸#ð ;Àtò ;ó ð;ð4 ‡[�[×Ñ˜X¨¨e }Ó5ñ4ó 6ð4ð" ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜X¨¨e }Ó5ñ4ó 6ó :ð4ð$ ‡[�[×Ñ˜X¨¨e }Ó5ñ
6ó 6ñ
6r   r   )	Útypingr   rC   Úpandasr/   Úpandas._testingÚ_testingr   r   r
   r   r   ú<module>r]      s   ðÝ ã ã Ý ÷w6ò w6r   