Ë
    *V.jP  ã                   óŽ   — 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y)é    )Ú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                  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      údC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\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Ú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   s÷   € ð �i‰iˆÜ�\‰\˜3 ˜*Ó%ˆà '¨>Ñ 9�&˜!‘¸rˆà×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 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   st   € à(ˆÜ�i‰i˜‹oˆà×'Ñ'¨¨WÔ5ð.ð ô
 —‘œy°Ö4Ø%”˜˜WÓ%¨VÕ4÷ 5Ð4ð ×Ñ˜c 7¨FÕ3÷	 5Ð4úó   Á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@   rB   )r   rF   Úall_numeric_reductionsr   r   r   rH   s          r   Útest_reduce_series_numericz*BaseReduceTests.test_reduce_series_numericb   sv   € ð )ˆÜ�i‰i˜‹oˆà×'Ñ'¨¨WÔ5ð.ð ô
 —‘œy°Ö4Ø%”˜˜WÓ%¨VÕ4÷ 5Ð4ð
 ×Ñ˜c 7¨FÕ3÷ 5Ð4úrJ   c                 óT  — |}t        j                  |«      }t        |j                  «      s"t	        j
                  |j                  › d�«       |dv rt	        j
                  |› d�«       | j                  ||«      st	        j
                  d|› d�«       | j                  |||«       y )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‰i˜‹oˆÜ §	¡	Ô*Ü�K‰K˜3Ÿ9™9˜+Ð%:Ð;Ô<àÐ.Ñ.Ü�K‰K˜7˜)Ð#7Ð8Ô9à×'Ñ'¨¨WÔ5Ü�K‰K˜* W IÐ-JÐKÔLà×Ñ  W¨fÕ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¡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   c                   ó   — e Zd ZdZy)ÚBaseNoReduceTestszwe don't define any reductionsN)rS   rT   rU   rV   r   r   r   r]   r]   ˆ   s   „ Ú(r   r]   c                   ó4   — e Zd Zdej                  dedefd„Zy)ÚBaseNumericReduceTestsr   r   r	   c                 ó6   — |dv rt        j                  d«       y)N©r5   Úallz*These are tested in BaseBooleanReduceTestsT©rD   rQ   r   s      r   r   z*BaseNumericReduceTests._supports_reductionŽ   s   € Ø�nÑ$Ü�K‰KÐDÔEØr   N©rS   rT   rU   r0   rC   rW   rX   r   r   r   r   r_   r_   Œ   ó    „ ð r§y¡yð ¸3ð À4ô r   r_   c                   ó4   — e Zd Zdej                  dedefd„Zy)ÚBaseBooleanReduceTestsr   r   r	   c                 ó6   — |dvrt        j                  d«       y)Nra   z*These are tested in BaseNumericReduceTestsTrc   r   s      r   r   z*BaseBooleanReduceTests._supports_reduction–   s   € Ø˜.Ñ(Ü�K‰KÐDÔEØr   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      sE   ðÝ ã ã Ý Ý -÷y6ñ y6ô|)˜ô )ô˜_ô ô˜_õ r   