U
    _{f                     @   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/dd0d1gd2fdd0d1dgd2fdgd fgd3d4 Z"ej
d5d6d7d(d)gd8d9 Z#dS ):    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   h/var/www/html/Darija-Ai-API/env/lib/python3.8/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 5 Q R X t	
|| t |}tjdd | |}W 5 Q R X 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ddddg}| ||}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   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\tt	|dksltt
||D ]\}}t|| qvd S )Nr   r   r   )Zna_valuer	   r   )r
   r   r   r   modfZto_numpy
isinstancetupleAssertionError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    
r4   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|| }|f |}t jddddddgdd}t|| }|f |}||ksptd S )	Nr   r   r    r!         r   )datar	   )r
   r   r   r   getattrr'   )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sHtt jdddg|ddd}t	|| | jd	d}t jddg| d d ddd}|j
j| jkstt	|| d S )
Nr   r   r   r   F)Zdropnacountindexr	   nameT)r
   r   NAvalue_countsIndexr	   r'   r   r   r   r?   )r"   r   Zex_indexr   r   r   r   test_value_counts_nao   s    rD   c                  C   sX   t jg dd} |  }t jg | jd}|j| jks6tt jg |ddd}t|| d S )Nr   r   r=   r>   )r
   r   rB   rC   r	   r'   r   r   )serr   idxr   r   r   r   test_value_counts_empty}   s    rG   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sXtt|| d S )Nr   r   r   r   T)	normalizeZFloat64Z
proportionr>   r    )	r
   r   rA   rB   r?   r	   r'   r   r   )rE   r   r   r   r   r    test_value_counts_with_normalize   s
    "rI   r/   TF	min_countr!   c                 C   sT   |}t jdddd g|d}|j| |d}| rB|dkrB|dksPtn|t jksPtd S )Nr   r   r    r   r/   rJ   r   r7   )r
   r   r2   r'   rA   r/   rJ   any_int_ea_dtyper	   r"   r   r   r   r   test_integer_array_sum   s    rN   methodminmaxc                 C   s\   |}t jddd g|d}t||}|| d}| rJ||dkr>dndksXtn|t jksXtd S )Nr   r   r   r.   rP   )r
   r   r9   r'   rA   )r/   rO   rM   r	   r"   funcr   r   r   r   test_integer_array_min_max   s    

rS   	   c                 C   sR   |}t jddd g|d}|j| |d}| r@|dkr@|dksNtn|t jksNtd S )Nr   r   r   rK   r   )r
   r   prodr'   rA   rL   r   r   r   test_integer_array_prod   s    rV   zvalues, expectedr   r    r7   c                 C   s(   t j| dd}t|}||ks$td S )Nr   r   )r
   r   r   r2   r'   )r-   r   r"   r   r   r   r   test_integer_array_numpy_sum   s    
rW   opr2   rU   c                 C   s<   t dt jddgddi}| }t|d tjs8td S )Nr   r   r   r   r   )r
   Z	DataFramer   rQ   r%   r   Zint64r'   )rX   Zdfr   r   r   r   test_dataframe_reductions   s    rY   )$numpyr   ZpytestZpandasr
   Zpandas._testingZ_testingr   Zpandas.core.arraysr   markZparametrizeabssignfilterwarningsr   logexpsincossqrtr   r0   subtractr#   r,   r4   r<   rD   rG   rI   rN   rS   rV   rW   rY   r   r   r   r   <module>   sZ   
 









	

 $
