o
    i/                     @   s6  d dl Z d dlZd dlZd dlmZ d dlmZ d dlZ	d dl
mZ dd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zejdd dd ddeded ed ed ed g
ejdddgdd Zejddddedededgejdddgdd Zejdddededgejdddgd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Z ejd,g d-d.d/ Z!d0d1 Z"d2d3 Z#d4d5 Z$d6d7 Z%d8d9 Z&d:d; Z'd<d= Z(d>d? Z)d@dA Z*dBdC Z+dDdE Z,ejdFddGegdHfdIdJegdKfgejdLddgdMdN Z-dS )O    NNA)	is_scalarc                  C   s&   t t u sJ tt  } | t u sJ d S N)r   type)new_NA r   ]/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/scalar/test_na_scalar.pytest_singleton   s   
r
   c                   C   s$   t tdksJ ttdksJ d S )N<NA>)reprr   strr   r   r   r	   	test_repr   s   r   c                   C   sf   t tdksJ t tddksJ t tddksJ t dks!J tddks)J tddks1J d S )Nr   z>10z
      <NA>xxx)formatr   r   r   r   r	   test_format   s   r   c                  C   st   d} t jt| d tt W d    n1 sw   Y  t jt| d t  W d    d S 1 s3w   Y  d S )Nz boolean value of NA is ambiguousmatch)pytestraises	TypeErrorboolr   msgr   r   r	   test_truthiness$   s   
"r   c                  C   s0   t tt tks
J tdi} | t dksJ d S )Ntest)hashr   )dr   r   r	   test_hashable.   s   r   c                 C   s   | }t dddtdtjfD ]0}|jdv rt|trq|jdv r,|t |t t fu s+J q|jdkr5|d7 }|t |t u s>J qd S )N         ?a)powrpowrmod)divmodrdivmodr#   )r   npint64nan__name__
isinstancer   )all_arithmetic_functionsopotherr   r   r	   test_arithmetic_ops4   s   

r/   c               	   C   s   t dddtdtjtdfD ]b} t | kt u sJ t | kt u s"J t | kt u s*J t | kt u s2J t | k t u s:J t | kt u sBJ | t kt u sJJ | t kt u sRJ | t kt u sZJ | t kt u sbJ | t k t u sjJ | t kt u srJ qd S )Nr   r    r!   T)r   r'   r(   r)   bool_)r.   r   r   r	   test_comparison_opsC   s   $r1   valueg        g       FasarrayTc                 C   sH   |rt | g} t|  }|r|d }n	t|t| sJ |dks"J d S )Nr   r   )r'   arrayr   r+   r   r2   r3   resultr   r   r	   test_pow_specialT   s   
r7   r   r    c                 C   s^   |rt | g} | t }|r|d }nt| t jt jt jfs't|t| s'J || ks-J d S Nr   )r'   r4   r   r+   float_r0   int_r   r5   r   r   r	   test_rpow_specialq   s   
r;   g      c                 C   s6   |rt | g} | t }|r|d }t|sJ d S r8   )r'   r4   r   pdisnar5   r   r   r	   test_rpow_minus_one   s   r?   c                   C   s>   t 
 t u sJ t  t u sJ tt t u sJ t  t u sJ d S r   )r   absr   r   r   r	   test_unary_ops   s   rA   c                  C   s   t d@ t u sJ dt @ t u sJ t d@ du sJ dt @ du s J t t @ t u s(J d} tjt| d t d@  W d    d S 1 sAw   Y  d S NTFzunsupported operand typer      r   r   r   r   r   r   r   r	   test_logical_and      
"rE   c                  C   s   t dB du sJ dt B du sJ t dB t u sJ dt B t u s J t t B t u s(J d} tjt| d t dB  W d    d S 1 sAw   Y  d S rB   rD   r   r   r   r	   test_logical_or   rF   rG   c                  C   s   t dA t u sJ dt A t u sJ t dA t u sJ dt A t u s J t t A t u s(J d} tjt| d t dA  W d    d S 1 sAw   Y  d S rB   rD   r   r   r   r	   test_logical_xor   rF   rH   c                   C   s   t  t u sJ d S r   r   r   r   r   r	   test_logical_not   s   rI   shape))   )rK   rK   r      rK   c                 C   sL   |}t | }|jdkr|d7 }|t|}t j|jttd}t|| d S )Nr"   rC   dtype)	r'   zerosr*   r   fullrJ   objecttmassert_numpy_array_equal)rJ   r,   r-   r!   r6   expectedr   r   r	   test_arithmetic_ndarray   s   


rV   c                   C   s   t tdu sJ d S )NT)r   r   r   r   r   r	   test_is_scalar   s   rW   c                   C   s(   t tdu s	J t tdu sJ d S )NTF)r=   r>   r   notnar   r   r   r	   	test_isna   s   rY   c                  C   s4   t jdtgtd} t ddg}t|  | d S )Nr   rN   FT)r=   Seriesr   rR   rS   assert_series_equalr>   )srU   r   r   r	   test_series_isna   s   r]   c                  C   sx   t ttu s	J t tdtu sJ t td} | d tu r%| d tu s'J t t} | d tu r8| d tu s:J d S )Nr   r   )r'   logr   addr%   frexpr6   r   r   r	   
test_ufunc   s   
 rb   c                  C   sF   d} t jt| d tjtd W d    d S 1 sw   Y  d S )Nzufunc method 'at'r   r   )r   r   
ValueErrorr'   r^   atr   r   r   r   r	   test_ufunc_raises   s   "re   c                  C   s   t g d} t jtttgtd}t | t}t|| t t| }t|| t tttu s3J t tt}t|dksAJ t	dd |D sLJ d S )NrL   rN   rM   c                 s   s    | ]}|t u V  qd S r   r   ).0xr   r   r	   	<genexpr>   s    z/test_binary_input_not_dunder.<locals>.<genexpr>)
r'   r4   r   rR   	logaddexprS   rT   modflenall)r!   rU   r6   r   r   r	   test_binary_input_not_dunder   s   rm   c                  C   s   t g d} t jtttgtd}t | t}t|tsJ |D ]}t|| t|| q t t| }|D ]}t|| t|| q7d S )NrL   rN   )	r'   r4   r   rR   r%   r+   tuplerS   rT   )r!   rU   r6   arrr   r   r	   test_divmod_ufunc   s   rp   c                  C   s8   t dtt di} | t  dksJ | tt  dksJ d S )Nfoobar)r   r   ra   r   r   r	    test_integer_hash_collision_dict  s   rs   c                  C   s<   t tt h} t| dksJ t | v sJ tt | v sJ d S )NrM   )r   r   rk   ra   r   r   r	   test_integer_hash_collision_set  s   rt   c                  C   s    t t t} | tu sJ d S r   )pickleloadsdumpsr   ra   r   r   r	   test_pickle_roundtrip  s   rx   c                  C   s   t t} | tu sJ d S r   )rS   round_trip_pickler   ra   r   r   r	   test_pickle_roundtrip_pandas%  s   
rz   zvalues, dtyperM   Int64ABstringas_framec                 C   s>   t t j||d}| r|jdd}t|}t|| d S )NrN   r|   )name)r=   rZ   r4   to_framerS   ry   assert_equal)r   valuesrO   r\   r6   r   r   r	    test_pickle_roundtrip_containers*  s
   
r   ).ru   numpyr'   r   pandas._libs.missingr   pandas.core.dtypes.commonr   pandasr=   pandas._testing_testingrS   r
   r   r   r   r   r/   r1   markparametrizer0   r:   r9   r7   r;   r?   rA   rE   rG   rH   rI   rV   rW   rY   r]   rb   re   rm   rp   rs   rt   rx   rz   r   r   r   r   r	   <module>   sz    
" 


	