o
    թZh                     @   s  d dl Zd dlZd dlZd dlmZ d dlm	Z	 ej
dejejgej
ddd Zej
dejejejejejgdd Zej
dejejgd	d
 Zdd Zej
dd dgd dggdd Zej
dddd ifdddifddd ifdddifdi fdi fdi fgdd Zdd Zdd Zdd Zej
d d!d"gej
d#d d$gd%d& Zej
d d!d"gej
d'd(d)gd*d+ Z ej
d d!d"gej
d#d d,gd-d. Z!ej
d/g d0d1fg d2d1fdgd fgd3d4 Z"ej
d5g d6d7d8 Z#dS )9    N)FloatingArrayufuncz7ignore:invalid value encountered in sign:RuntimeWarningc                 C   s   t dddtjg}| |}t j| |tdd}t|| t |}| |}t t j| |tdd}t	|| d S )N      Int64dtype)
pdarraynpnanastypefloattmassert_extension_array_equalSeriesassert_series_equalr   aresultexpecteds r   `/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/arrays/integer/test_function.pytest_ufuncs_single_int	   s   
r   c                 C   s   t dddtjg}tjdd | |}t| |t|jd}W d    n1 s+w   Y  t	
|| t |}tjdd | |}W d    n1 sPw   Y  t |}t	|| d S )Nr   r   r   ignore)invalid)mask)r
   r   r   r   Zerrstater   r   r   Z_maskr   r   r   r   r   r   r   r   test_ufuncs_single_float   s   


r   c                 C   s  t dddtjg}| ||}t j| |t|tdd}t|| tg d}| ||}t j| |t|dd}t|| | ||}t j| ||tdd}t|| | |d}t j| |tddd}t|| | d|}t j| d|tdd}t|| d S )Nr   r   r   r   r   )r   r         )r
   r   r   r   r   r   r   r   )r   r   r   r   arrr   r   r   test_ufuncs_binary_int'   s"   
 



r#   c                  C   s   t ddtjg} t| }t| jtjdd}t |d t |d f}t|ts.J t|dks6J t	||D ]
\}}t
|| q;d S )Nr   r   r   )Zna_valuer	   r   )r
   r   r   r   modfZto_numpy
isinstancetuplelenzipr   r   )r   r   r   xyr   r   r   test_ufunc_binary_outputC   s   
r+   valuesr   c                 C   s2   t | }tj|}|jdd}t|| d S )NFskipna)r
   r   r   addreducesumr   Zassert_almost_equal)r,   r"   resr   r   r   r   test_ufunc_reduce_raisesP   s   
r3   zpandasmethname, kwargsvarZddofZstdZkurtosisZskewZsemc              	   C   st   t jddddddtjtjgdd}t|| }|d
i |}t jg d	dd}t|| }|d
i |}||ks8J d S )Nr   r   r    r!         r   )datar	   )r   r   r    r!   r5   r6   r   )r
   r   r   r   getattr)Zpandasmethnamekwargsr   Z
pandasmethr   s2r   r   r   r   test_stat_methodY   s   "

r;   c                  C   s   t jdddt jgdd} | jdd}t jddt jgdd}|jdks$J t jg d|ddd	}t|| | jd
d}t jddg| d d ddd	}|j	j| jksSJ t|| d S )Nr   r   r   r   F)Zdropna)r   r   r   countindexr	   nameT)
r
   r   NAvalue_countsIndexr	   r   r   r   r>   )r"   r   Zex_indexr   r   r   r   test_value_counts_nao   s   rC   c                  C   sX   t jg dd} |  }t jg | jd}|j| jksJ t jg |ddd}t|| d S )Nr   r   r<   r=   )r
   r   rA   rB   r	   r   r   )serr   idxr   r   r   r   test_value_counts_empty}   s   rF   c                  C   sh   t jdddt jgdd} | jdd}t jddg| d d ddd	d
 }|jj| jks,J t|| d S )Nr   r   r   r   T)	normalizeZFloat64Z
proportionr=   r    )r
   r   r@   rA   r>   r	   r   r   )rD   r   r   r   r   r    test_value_counts_with_normalize   s
   "rH   r.   TF	min_countr!   c                 C   R   |}t jg d|d}|j| |d}| r |dkr |dksJ d S |t ju s'J d S )Nr   r   r    Nr   r.   rI   r   r6   )r
   r   r1   r@   r.   rI   any_int_ea_dtyper	   r"   r   r   r   r   test_integer_array_sum      rO   methodminmaxc                 C   s\   |}t jg d|d}t||}|| d}| r%||dkrdndks#J d S |t ju s,J d S )N)r   r   Nr   r-   rR   r   r   )r
   r   r8   r@   )r.   rQ   rN   r	   r"   funcr   r   r   r   test_integer_array_min_max   s   

rU   	   c                 C   rJ   )N)r   r   Nr   rL   r   r   )r
   r   prodr@   rM   r   r   r   test_integer_array_prod   rP   rX   zvalues, expected)r   r   r    r6   rK   c                 C   s(   t j| dd}t|}||ksJ d S )Nr   r   )r
   r   r   r1   )r,   r   r"   r   r   r   r   test_integer_array_numpy_sum   s   
rY   op)r1   rW   rR   rS   c                 C   s<   t dt jddgddi}| }t|d tjsJ d S )Nr   r   r   r   r   )r
   Z	DataFramer   rS   r%   r   Zint64)rZ   dfr   r   r   r   test_dataframe_reductions   s   r\   )$numpyr   ZpytestZpandasr
   Zpandas._testingZ_testingr   Zpandas.core.arraysr   markZparametrizeabssignfilterwarningsr   logexpsincossqrtr   r/   subtractr#   r+   r3   r;   rC   rF   rH   rO   rU   rX   rY   r\   r   r   r   r   <module>   sZ    
 









	

 
