U
    ÎZj:&  ã                	   @   s  d 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  m	Z
 ddlZddlmZmZ ddlmZ ej d¡Zdd„ Zejdd„ ƒZej d	¡d
d„ ƒZej d	¡ej d¡dd„ ƒƒZe
 d¡dd„ ƒZdd„ Ze
 d¡e
 dd¡dd„ ƒƒZdd„ Zdd„ Zejj ej ej d¡ej d¡ej d	¡ej d¡ej d ¡d!d"„ ƒƒƒƒƒƒƒZ!ej d¡d#d$„ ƒZ"ejj ej ej d%¡d&d'„ ƒƒƒZ#d(d)„ Z$ejj ej ejj%e&d*d+�d,d-„ ƒƒƒZ'd.d/„ Z(ej d0¡ej d1¡d2d3„ ƒƒZ)d4d5„ Z*d6d7„ Z+d8d9„ Z,d:d;„ Z-dS )<z1
Testing that we work in the downstream packages
é    N)Ú	DataFrameÚSerieszDignore:distutils Version classes are deprecated.*:DeprecationWarningc                 C   s8   zt  | ¡W S  tk
r2   t d| › d�¡ Y nX d S )Nzskipping as z not available)Ú	importlibÚimport_moduleÚModuleNotFoundErrorÚpytestÚskip)Úname© r
   ú_/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/test_downstream.pyr      s    r   c                   C   s   t ddddgiƒS )NÚAé   é   é   )r   r
   r
   r
   r   Údf$   s    r   z,ignore:.*64Index is deprecated:FutureWarningc              
   C   sj   t  d¡}zLtdƒ}tdƒ}dd lm} |j| dd�}|jd k	sDt‚| 	¡ d k	sTt‚W 5 t  d|¡ X d S )Núcompute.use_numexprÚtoolzÚdaskr   r   ©Znpartitions)
ÚpdÚ
get_optionÚ
set_optionr   Údask.dataframeÚ	dataframeÚfrom_pandasr   ÚAssertionErrorÚcompute)r   Úolduser   r   ÚddZddfr
   r
   r   Ú	test_dask)   s    
r   z,ignore:The __array_wrap__:DeprecationWarningc               
   C   s„   t  d¡} zftdƒ}dd lm} dd lm} tddddgƒ}|j	|dd	�}| 
|¡ ¡ }t 
|¡}t ||¡ W 5 t  d| ¡ X d S )
Nr   r   r   g      ø?gffffff@gš™™™™™@g      @r   r   )r   r   r   r   Ú
dask.arrayÚarrayr   r   r   r   Zfixr   ÚnpÚtmÚassert_series_equal)r   r   Údar   ÚsZdsÚresultÚexpectedr
   r
   r   Útest_dask_ufunc=   s    

r)   r   c               	   C   sÐ   dd l m}  t dddg¡}|  |¡}t|ƒ}t|ƒ}t ||¡ t|dd�}t|dd�}t ||¡ d}tj|d< tj	t
|d	�� t|dd�}W 5 Q R X tj	t
|d	�� t|dd�}W 5 Q R X t ||¡ d S )
Nr   r   g      @r   Úi8)Zdtypez>In a future version, passing float-dtype values containing NaNr   ©Úmatch)r   r   r"   r!   Z
from_arrayr   r#   r$   ÚnanÚassert_produces_warningÚFutureWarning)r   ZarrÚdarrÚresr(   Úmsgr
   r
   r   Ú7test_construct_dask_float_array_int_dtype_match_ndarrayV   s     

r3   c                 C   s   t dƒ}|  ¡ d k	st‚d S )NÚxarray)r   Z	to_xarrayr   )r   r4   r
   r
   r   Útest_xarrayp   s    r5   Úcftimer4   z0.10.4c               	   C   sj   dd l } dd l}|jddd�}|  ddd¡}tjtddd	�� |j|d
d�}W 5 Q R X d}||ksft‚d S )Nr   Z0001r   )ZperiodsiÐ  r   Ú
deprecatedF)r,   Zcheck_stacklevelZnearest)Úmethod)	r6   r4   Zcftime_rangeZDatetimeGregorianr#   r.   r/   Zget_locr   )r6   r4   ÚtimesÚkeyr'   r(   r
   r
   r   Útest_xarray_cftimeindex_nearestw   s      ÿr;   c                   C   s   t  tjdddg¡ d S )Nú-OOú-cúimport pandas©Ú
subprocessÚ
check_callÚsysÚ
executabler
   r
   r
   r   Útest_oo_optimizableˆ   s    rD   c                   C   s   t  tjdddg¡ d S )Nr<   r=   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))r?   r
   r
   r
   r   Ú)test_oo_optimized_datetime_index_unpickle�   s    ûÿrE   z(ignore:pandas.util.testing is deprecatedzignore:can't:ImportWarningzGignore:Using or importing the ABCs from 'collections:DeprecationWarningz5ignore:`np.MachAr` is deprecated.*:DeprecationWarningc                  C   sL   t dƒ} dd lm} dd lm  m} |j dd¡j}|jd|d� 	¡  d S )NÚstatsmodelsr   ZGuerryZHistDataz$Lottery ~ Literacy + np.log(Pop1831))Údata)
r   Zstatsmodels.apiÚapiZstatsmodels.formula.apiZformulaÚdatasetsZget_rdatasetrG   ZolsÚfit)rF   ÚsmZsmfr   r
   r
   r   Útest_statsmodelsœ   s
    rL   c                  C   sf   t dƒ} ddlm}m} | ¡ }|jddd�}| |jd d… |jd d… ¡ | 	|jdd … ¡ d S )NÚsklearnr   )rI   Úsvmgü©ñÒMbP?g      Y@)ÚgammaÚCéÿÿÿÿ)
r   rM   rI   rN   Zload_digitsZSVCrJ   rG   ÚtargetZpredict)rM   rI   rN   ÚdigitsZclfr
   r
   r   Útest_scikit_learnµ   s     rT   Úignorec                  C   s&   t dƒ} |  d¡}| jdd|d� d S )NÚseabornÚtipsÚdayZ
total_bill)ÚxÚyrG   )r   Zload_datasetZ	stripplot)rV   rW   r
   r
   r   Útest_seabornÅ   s    
r[   c                  C   s   t jddd� tdƒ} d S )NÚ
pandas_gbqz0.10.0)Z
minversion)r   Zimportorskipr   )r\   r
   r
   r   Útest_pandas_gbqÏ   s    r]   z|The Quandl API key must be provided either through the api_key variable or through the environmental variable QUANDL_API_KEY)ÚraisesÚreasonc                  C   s   t dƒ} |  dddd¡ d S )NÚpandas_datareaderÚFZquandlz
2017-01-01z
2017-02-01)r   Z
DataReader)r`   r
   r
   r   Útest_pandas_datareaderÕ   s    	rb   c               	   C   sZ   t dƒ} |  dddg|  dddgdddg¡dœ¡}|ddg jj tdd	d
gƒ¡sVt‚d S )NÚ	geopandasr   r   r   )ÚcolÚgeometryrd   re   g      ð?g       @g      @)r   ZGeoDataFrameZpoints_from_xyre   rY   Úequalsr   r   )rc   Zgdfr
   r
   r   Útest_geopandasâ   s
    "ÿrg   z"ignore:can't resolve:ImportWarningz4ignore:RangeIndex.* is deprecated:DeprecationWarningc                 C   s,   t dƒ}|j | ¡}| ¡ }t || ¡ d S )NÚpyarrow)r   ÚTabler   Z	to_pandasr#   Úassert_frame_equal)r   rh   Útabler'   r
   r
   r   Útest_pyarrowì   s    rl   c                 C   sP   t dƒ}| dd¡}t|ƒ}| s0t ||¡s0t‚t|d ƒ}t ||¡sLt‚d S )NÚtorchi¼  é@   r   )r   Zrandnr   r"   Zshares_memoryr   r   )Zusing_array_managerrm   Z
val_tensorr   Zserr
   r
   r   Útest_torch_frame_constructionö   s    ro   c                 C   sN   t dƒ}| | ¡}|j||jd�}t | |¡ |j||jd�}t | |¡ d S )NÚyaml)ÚLoader)r   ÚdumpÚloadrq   r#   rj   ZUnsafeLoader)r   rp   ZdumpedZloadedZloaded2r
   r
   r   Útest_yaml_dump  s    
rt   c               	   C   s¢   t j dd¡} | ddg}t |¡ ¡ }d|kr8t d¡ | dddg}d	| › d
�}tjtj	|d��}tj|tj
d� W 5 Q R X |jj ¡ }dD ]}||ksŒt‚qŒd S )Nú\ú/r=   z$import pandas;print(pandas.__file__)zsite-packagesz pandas installed as site packagez-sSEr>   zCommand '\['zD', '-sSE', '-c', 'import pandas'\]' returned non-zero exit status 1.r+   )Ústderr)ÚnumpyZpytzZdateutil)rB   rC   Úreplacer@   Úcheck_outputÚdecoder   r   r^   ÚCalledProcessErrorÚSTDOUTÚvalueÚstdoutr   )ZpyexeÚcallÚoutputr2   Úexcr	   r
   r
   r   Ú test_missing_required_dependency  s    


ÿrƒ   c               
   C   s²   t  d¡} z”tdƒ}dd lm} | ddg¡}tdddgiƒ}||d< ||d< d	|jd
dgdf< |jdgd d …f }tdgd	gdgdœdgd�}t 	||¡ W 5 t  d| ¡ X d S )Nr   r   r   r   r   ÚaÚbÚcéd   FT)r„   r…   r†   )Úindex)
r   r   r   r   r    r!   r   Úlocr#   rj   )r   r   r%   Zddar   r'   r(   r
   r
   r   Ú*test_frame_setitem_dask_array_into_new_col5  s    
rŠ   ).Ú__doc__r   r@   rB   rx   r"   r   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr   r   r   Zpandas._testingZ_testingr#   ÚmarkÚfilterwarningsZ
pytestmarkr   Zfixturer   r   r)   Z
skip_if_nor3   r5   r;   rD   rE   ÚnetworkrL   rT   r[   r]   ZxfailÚ
ValueErrorrb   rg   rl   ro   rt   rƒ   rŠ   r
   r
   r
   r   Ú<module>   s|   ÿ










þþ


þ


$