§
    ªöÉgP  ã                   ó¨   — d dl mZ d dlZd dlZd dlmZ d dlm	Z	  G d„ d¦  «        Z
 G d„ de
¦  «        Z G d„ d	e
¦  «        Z G d
„ de
¦  «        ZdS )é    )ÚfinalN)Úis_numeric_dtypec                   ó°  — 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                             dd
dg¦  «        d„ ¦   «         Zej                             d¦  «        ej                             dd
dg¦  «        d„ ¦   «         ¦   «         Zej                             dd
dg¦  «        d„ ¦   «         ZdS )ÚBaseReduceTestszg
    Reduction specific tests. Generally these only
    make sense for numeric/boolean operations.
    ÚserÚop_nameÚreturnc                 ó   — dS )NF© ©Úselfr   r   s      ún/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pandas/tests/extension/base/reduce.pyÚ_supports_reductionz#BaseReduceTests._supports_reduction   s   € àˆuó    Úskipnac                 óf  — t          ||¦  «        }	 |                     d¦  «        }n1# t          t          f$ r |                     t          ¦  «        }Y nw xY wt          ||¦  «        }|dk    r |¦   «         } |¦   «         }n ||¬¦  «        } ||¬¦  «        }t          j        ||¦  «         d S )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ˆCøÝ�:Ð&ð 	%ð 	%ð 	%ð —*’*�VÑ$Ô$ˆCˆCˆCð		%øøøõ ˜˜gÑ&Ô&ˆØ�gÒÐØ�V‘X”XˆFØ�v‘x”xˆHˆHà�V 6Ð*Ñ*Ô*ˆFØ�v VÐ,Ñ,Ô,ˆHÝ
Ô˜v xÑ0Ô0Ð0Ð0Ð0s   ’( ¨+AÁAc                 ó   — |j         S )N©Údtype)r   Úarrr   r   s       r   Ú_get_expected_reduction_dtypez-BaseReduceTests._get_expected_reduction_dtype+   s   € ð ŒyÐr   c                 óH  — |j         }t          j        d|i¦  «        }|dv rddini }|                      |||¦  «        } |j        |f|ddœ|¤Ž} t          ||¦  «        d	d|i|¤Žj         }	t          j        ||	¦  «         |sH|                     ¦   «          	                    ¦   «         r"t          j         t          j
        g|¬¦  «        }
nA t          |                     ¦   «         |¦  «        ¦   «         }t          j         |g|¬¦  «        }
t          j        ||
¦  «         d S )
NÚa)ÚvarÚstdÚ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_frame5   s3  € ð ŒiˆÝŒ\˜3 ˜*Ñ%Ô%ˆà '¨>Ð 9Ð 9�&˜!��¸rˆà×6Ò6°s¸GÀVÑLÔLˆ	ð �#”+˜gÐN¨f¸tÐNÐNÀvÐNÐNˆØ&•'˜"˜gÑ&Ô&Ð?Ð?¨fÐ?¸Ð?Ð?ÔEˆÝ
Ô'¨°Ñ9Ô9Ð9ð ð 	>˜#Ÿ(š(™*œ*Ÿ.š.Ñ*Ô*ð 	>Ý”x¥¤ ¨yÐ9Ñ9Ô9ˆHˆHà6� §
¢
¡¤¨gÑ6Ô6Ñ8Ô8ˆIÝ”x  °9Ð=Ñ=Ô=ˆHå
Ô'¨°Ñ:Ô:Ð:Ð:Ð:r   TFc                 ó0  — |}t          j        |¦  «        }|                      ||¦  «        sRd}t          j        t
          |¬¦  «        5   t          ||¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S |                      |||¦  «         d S ©NzV[Cc]annot perform|Categorical is not ordered for operation|does not support reduction|)Úmatchr   ©r0   ÚSeriesr   ÚpytestÚraisesr   r   r"   )r   ÚdataÚall_boolean_reductionsr   r   r   Úmsgs          r   Útest_reduce_series_booleanz*BaseReduceTests.test_reduce_series_booleanP   sî   € à(ˆÝŒi˜‰oŒoˆà×'Ò'¨¨WÑ5Ô5ð 	4ð.ð õ
 ”�y°Ð4Ñ4Ô4ð 5ð 5Ø%•˜˜WÑ%Ô%¨VÐ4Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5ð ×Ò˜c 7¨FÑ3Ô3Ð3Ð3Ð3ó   Á
A2Á2A6Á9A6zignore::RuntimeWarningc                 ó0  — |}t          j        |¦  «        }|                      ||¦  «        sRd}t          j        t
          |¬¦  «        5   t          ||¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S |                      |||¦  «         d S r@   rB   )r   rF   Úall_numeric_reductionsr   r   r   rH   s          r   Útest_reduce_series_numericz*BaseReduceTests.test_reduce_series_numericb   sð   € ð )ˆÝŒi˜‰oŒoˆà×'Ò'¨¨WÑ5Ô5ð 	4ð.ð õ
 ”�y°Ð4Ñ4Ô4ð 5ð 5Ø%•˜˜WÑ%Ô%¨VÐ4Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5ð
 ×Ò˜c 7¨FÑ3Ô3Ð3Ð3Ð3rJ   c                 óR  — |}t          j        |¦  «        }t          |j        ¦  «        st	          j        |j        › d�¦  «         |dv rt	          j        |› d�¦  «         |                      ||¦  «        st	          j        d|› d�¦  «         |                      |||¦  «         d S )Nz is not numeric dtype)r   ÚkurtÚsemz not an array methodz
Reduction z not supported for this dtype)r0   rC   r   r%   rD   Úskipr   r>   )r   rF   rL   r   r   r   s         r   Útest_reduce_framez!BaseReduceTests.test_reduce_framev   s¹   € à(ˆÝŒi˜‰oŒoˆÝ ¤	Ñ*Ô*ð 	=ÝŒK˜3œ9Ð;Ð;Ð;Ñ<Ô<Ð<àÐ.Ð.Ð.ÝŒK˜7Ð8Ð8Ð8Ñ9Ô9Ð9à×'Ò'¨¨WÑ5Ô5ð 	MÝŒKÐK WÐKÐKÐKÑLÔLÐLà×Ò  W¨fÑ5Ô5Ð5Ð5Ð5r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r0   rC   ÚstrÚboolr   r"   r'   r   r>   rD   ÚmarkÚparametrizerI   ÚfilterwarningsrM   rR   r   r   r   r   r   
   s  € € € € € ðð ð
 r¤yð ¸3ð À4ð ð ð ð ð1 ¤	ð 1°Cð 1Àð 1ð 1ð 1ð 1ð.¸#ð Àtð ð ð ð ð ð; b¤ið ;¸#ð ;Àtð ;ð ;ð ;ñ „Uð;ð4 „[×Ò˜X¨¨e }Ñ5Ô5ð4ð 4ñ 6Ô5ð4ð" „[×ÒÐ 8Ñ9Ô9Ø„[×Ò˜X¨¨e }Ñ5Ô5ð4ð 4ñ 6Ô5ñ :Ô9ð4ð$ „[×Ò˜X¨¨e }Ñ5Ô5ð6ð 6ñ 6Ô5ð6ð 6ð 6r   r   c                   ó   — e Zd ZdZdS )ÚBaseNoReduceTestszwe don't define any reductionsN)rS   rT   rU   rV   r   r   r   r]   r]   ˆ   s   € € € € € Ø(Ð(Ð(Ð(r   r]   c                   ó,   — e Zd Zdej        dedefd„ZdS )ÚBaseNumericReduceTestsr   r   r	   c                 ó6   — |dv rt          j        d¦  «         dS )N©r5   Úallz*These are tested in BaseBooleanReduceTestsT©rD   rQ   r   s      r   r   z*BaseNumericReduceTests._supports_reductionŽ   s#   € Ø�nÐ$Ð$ÝŒKÐDÑEÔEÐEØˆtr   N©rS   rT   rU   r0   rC   rW   rX   r   r   r   r   r_   r_   Œ   ó?   € € € € € ð r¤yð ¸3ð À4ð ð ð ð ð ð r   r_   c                   ó,   — e Zd Zdej        dedefd„ZdS )ÚBaseBooleanReduceTestsr   r   r	   c                 ó6   — |dvrt          j        d¦  «         dS )Nra   z*These are tested in BaseNumericReduceTestsTrc   r   s      r   r   z*BaseBooleanReduceTests._supports_reduction–   s#   € Ø˜.Ð(Ð(ÝŒKÐDÑEÔEÐEØˆtr   Nrd   r   r   r   rg   rg   ”   re   r   rg   )Útypingr   rD   Úpandasr0   Úpandas._testingÚ_testingr   Úpandas.api.typesr   r   r]   r_   rg   r   r   r   ú<module>rn      s	  ðØ Ð Ð Ð Ð Ð à €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -ðy6ð y6ð y6ð y6ð y6ñ y6ô y6ð y6ð|)ð )ð )ð )ð )˜ñ )ô )ð )ðð ð ð ð ˜_ñ ô ð ðð ð ð ð ˜_ñ ô ð ð ð r   