o
    _~#g                     @   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s"J | |s(J | |dks0J | |dks8J | | dksAJ | dd u sIJ d S )	Nc                 S      | S N xr   r   }/var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/test_common.pyfn   s   z"test_get_callable_name.<locals>.fnc                 S   r   r   r   r	   r   r   r   <lambda>   s    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 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      )comget_callable_namer   )getnamer   lambda_part1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   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   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s*J t  tju s3J tjd jddddd}t | tj| ksQJ t tjd tjtjd ksjJ t tj	d	 tjtj	d	 ksJ d
}t
jt|d t d W d    n1 sw   Y  t
jt|d t d W d    d S 1 sw   Y  d S )N   
   r   l        ip  uint32)sizedtyper      zdrandom_state must be an integer, array-like, a BitGenerator, Generator, a numpy RandomState, or Nonematchtestg      @)r   random_stateuniformnprandomRandomStatedefault_rngintegersMT19937PCG64pytestraises
ValueError)statestate2state_arr_likemsgr   r   r   test_random_state6   s2   
""r>   zleft, right, expectedr   r
   )namer   ynanz,Not checking for matching NAs inside tuples.)reason)marksc                 C   s*   t j| |}||u s||ksJ d S d S r   )r   common_maybe_match_name)leftrightexpectedresr   r   r   test_maybe_match_namec   s   #rJ   c                  C   s   d} t jt| d ttj W d    n1 sw   Y  d} t jt| d tg  W d    n1 s8w   Y  t jt| d tt W d    n1 sTw   Y  ddi}t|tksfJ ti tksoJ tt}t	t|t
s~J d S )Nz1to_dict\(\) only accepts initialized defaultdictsr+   z unsupported type: <class 'list'>baddata)r7   r8   	TypeErrorr   standardize_mappingcollectionsdefaultdictlistdict
isinstancer   )r=   fillddr   r   r   test_standardize_mapping   s    
rV   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>   s    z#test_git_version.<locals>.<genexpr>)pd__git_version__lenall)git_versionr   r   r   test_git_version   s   rb   c                  C   s4   t tj} z	| t dk W d S  ty   tdw )Nz0.0.1zBNo git tags exist, please sync tags between upstream and your repo)r   r]   __version__rM   r9   )versionr   r   r   test_version_tag   s   
re   objc                 C   s   g | ]	}t |r|fqS r   )callable)rZ   rf   r   r   r   
<listcomp>   s    rh   c                 C   s"   t | }t| t|ksJ d S r   )tmround_trip_pickletype)rf   	unpickledr   r   r   test_serializable   s   
rm   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)   )r0   arrayrA   objectr   is_bool_indexer)r   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    rw   aT)rQ   r   rt   )r   rw   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    )col1col2)rL   )r]   	DataFrameindexnamesr   rt   ri   assert_frame_equal)r   rL   dffrozenresultrH   r   r   r   test_frozenlist   s   z!TestIsBoolIndexer.test_frozenlistN)r   r   r   rv   rz   r   r   r   r   r   rn      s    rn   with_exceptionTFc              	   C   s   t td}d|_| rdnd}tjt|d, t|dd |jdks%J | r+tdW d    td1 s8w   Y  td1 sDw   Y  |jdksPJ d S )Nrq   firstzInside exception raisedzOutside exception raisedr+   r?   second)r   rs   r?   r7   r8   r9   r   temp_setattr)r   serr,   r   r   r   test_temp_setattr   s   

r   c                  C   sZ   d} t | }t jdd}|ddg}t| dd d}t|t|ks+J d S )	Nrx   \/-czHa='a';import sys;sys.getsizeof(a);import pandas;print(sys.getsizeof(a));
)	sys	getsizeof
executablereplace
subprocesscheck_outputdecodestripint)rx   rH   pyexecallr   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()
    r   )textwrapdedentr   r   r   r   )coder   r   r   r   test_bz2_missing_import   s   

r   )2rO   	functoolsr   rX   r   r   r   numpyr0   r7   pandasr]   r   pandas._testing_testingri   pandas.corer   pandas.core.commoncorerD   r   pandas.util.versionr   r   r"   r$   r>   markparametrizerA   IndexNaTNAint64paramfloat64xfailrJ   rV   rb   re   __dict__valuesrm   rn   r   
single_cpur   r   r   r   r   r   <module>   s|    -" "
"

 

