a
    Of                     @   s  d dl Z d dlmZ d dlZd dlZd dlZd dlZ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mZ d dlm  mZ d dlmZ dd Zdd	 Zd
d Zdd Ze	jdedgddedgdddfedgddedgdddfedgedgdddfedgddedgdfedgdddgdfdgedgdddfedgejdejg ejdejfedgejdejg ej ddfedgej!dejg ej!dej!fedge"ddejg e"de"dfddfedge"de"dfdejg e"de"dfde"de"dffe	j#edge$de"dfdejg e$de"dfde$de"dfe	jj%dddgdd Z&dd Z'dd Z(dd Z)e	jd d!d" ej*+ D d#d$ Z,G d%d& d&Z-e	jd'd(d)gd*d+ Z.e	jj/d,d- Z0e	jj/d.d/ Z1dS )0    N)partial)Series)ops)Versionc                  C   s   t j} dd }dd }t|}t|}G dd d}| |dksDJ | |sPJ | |dks`J | |dkspJ | | dksJ | dd u sJ d S )	Nc                 S   s   | S N xr   r   Q/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/test_common.pyfn   s    z"test_get_callable_name.<locals>.fnc                 S   s   | S r   r   r   r   r   r
   <lambda>       z(test_get_callable_name.<locals>.<lambda>c                   @   s   e Zd Zdd ZdS )z(test_get_callable_name.<locals>.somecallc                 S   s   t d S r   )NotImplementedError)selfr   r   r
   __call__   s    z1test_get_callable_name.<locals>.somecall.__call__N)__name__
__module____qualname__r   r   r   r   r
   somecall   s   r   r      )comZget_callable_namer   )Zgetnamer   Zlambda_Zpart1Zpart2r   r   r   r
   test_get_callable_name   s    r   c                   C   s,   t dddd sJ t ddddr(J d S Nr            )r   Zany_noner   r   r   r
   test_any_none+   s    r   c                   C   s@   t ddddsJ t dddd r(J t d d d d r<J d S r   )r   Zall_not_noner   r   r   r
   test_all_not_none0   s    r   c                  C   s  t d} |  tjd ks&J tjd}t | tjd ksTJ t  tju sfJ tjd jddddd}t | tj| ksJ t tjd tjtjd ksJ t tj	d	 tjtj	d	 ksJ d
}t
jt|d t d W d    n1 s<0    Y  t
jt|d t d W d    n1 sv0    Y  d S )N   
   r   l        ip  Zuint32)sizedtyper      zdrandom_state must be an integer, array-like, a BitGenerator, Generator, a numpy RandomState, or Nonematchtestg      @)r   Zrandom_stateuniformnprandomZRandomStateZdefault_rngZintegersZMT19937ZPCG64pytestraises
ValueError)stateZstate2Zstate_arr_likemsgr   r   r
   test_random_state6   s4    
"*r.   zleft, right, expectedr   r	   )namer   ynanz,Not checking for matching NAs inside tuples.)reason)Zmarksc                 C   s&   t j| |}||u s"||ks"J d S r   )r   commonZ_maybe_match_name)leftrightexpectedresr   r   r
   test_maybe_match_namec   s    #r8   c                  C   s   d} t jt| d ttj W d    n1 s40    Y  d} t jt| d tg  W d    n1 sp0    Y  t jt| d tt W d    n1 s0    Y  ddi}t|tksJ ti tksJ tt}t	t|t
sJ d S )Nz1to_dict\(\) only accepts initialized defaultdictsr#   z unsupported type: <class 'list'>baddata)r)   r*   	TypeErrorr   Zstandardize_mappingcollectionsdefaultdictlistdict
isinstancer   )r-   fillddr   r   r
   test_standardize_mapping   s    *((
rC   c                  C   s0   t j} t| dksJ tdd | D s,J d S )N(   c                 s   s   | ]}|t jv V  qd S r   )string	hexdigits).0cr   r   r
   	<genexpr>   r   z#test_git_version.<locals>.<genexpr>)pdZ__git_version__lenall)Zgit_versionr   r   r
   test_git_version   s    rM   c                  C   s:   t tj} z| t dk W n ty4   tdY n0 d S )Nz0.0.1zBNo git tags exist, please sync tags between upstream and your repo)r   rJ   __version__r;   r+   )versionr   r   r
   test_version_tag   s    
rP   objc                 C   s   g | ]}t |r|fqS r   )callable)rG   rQ   r   r   r
   
<listcomp>   r   rS   c                 C   s"   t | }t| t|ksJ d S r   )tmZround_trip_pickletype)rQ   Z	unpickledr   r   r
   test_serializable   s    
rV   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestIsBoolIndexerc                 C   s(   t jddt jgtd}t|r$J d S )NABr!   )r'   arrayr1   objectr   is_bool_indexer)r   Zarrr   r   r
   test_non_bool_array_with_na   s    z-TestIsBoolIndexer.test_non_bool_array_with_nac                 C   sD   G dd dt }|dg}t|r(J |dg}t|s@J d S )Nc                   @   s   e Zd ZdS )z4TestIsBoolIndexer.test_list_subclass.<locals>.MyListN)r   r   r   r   r   r   r
   MyList   s   r_   aT)r>   r   r]   )r   r_   valr   r   r
   test_list_subclass   s
    

z$TestIsBoolIndexer.test_list_subclassc                 C   s\   ddgddgd}t j|d}|jjdd  }t|r<J || }|g  }t|| d S )Nr   r   r   r   )Zcol1Zcol2)r:   )rJ   Z	DataFrameindexnamesr   r]   rT   Zassert_frame_equal)r   r:   Zdffrozenresultr6   r   r   r
   test_frozenlist   s    z!TestIsBoolIndexer.test_frozenlistN)r   r   r   r^   rb   rg   r   r   r   r
   rW      s   rW   with_exceptionTFc              	   C   s   t td}d|_| rdnd}tjt|d` t|dd* |jdksJJ | rVtdW d    n1 sj0    Y  tdW d    n1 s0    Y  |jdksJ d S )NrZ   firstzInside exception raisedzOutside exception raisedr#   r/   second)r   r\   r/   r)   r*   r+   r   Ztemp_setattr)rh   Zserr$   r   r   r
   test_temp_setattr   s    
&&rk   c                  C   sZ   d} t | }t jdd}|ddg}t| dd d}t|t|ksVJ d S )	Nr`   \/-czHa='a';import sys;sys.getsizeof(a);import pandas;print(sys.getsizeof(a));
)	sys	getsizeof
executablereplace
subprocesscheck_outputdecodestripint)r`   r6   Zpyexecallrf   r   r   r
   test_str_size   s    
r|   c                  C   s(   d} t | } tjd| g}t| d S )Na  
        import sys
        sys.modules['bz2'] = None
        import pytest
        import pandas as pd
        from pandas.compat import get_bz2_file
        msg = 'bz2 module not available.'
        with pytest.raises(RuntimeError, match=msg):
            get_bz2_file()
    rn   )textwrapdedentrr   rt   rv   rw   )coder{   r   r   r
   test_bz2_missing_import   s    

r   )2r<   	functoolsr   rE   rv   rr   r}   numpyr'   r)   ZpandasrJ   r   Zpandas._testingZ_testingrT   Zpandas.corer   Zpandas.core.commoncorer3   r   Zpandas.util.versionr   r   r   r   r.   markZparametrizer1   IndexZNaTZNAZint64paramZfloat64Zxfailr8   rC   rM   rP   __dict__valuesrV   rW   rk   Z
single_cpur|   r   r   r   r   r
   <module>   sz   -" ""


 

