a
    ±<b‹  ã                	   @   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 ddlmZ dd„ Zejdd„ ƒZej d¡d	d
„ ƒZej 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$ej d)¡d*d+„ ƒZ%ej d)¡ej d,¡d-d.„ ƒƒZ&d/d0„ Z'd1d2„ Z(d3d4„ Z)dS )5z1
Testing that we work in the downstream packages
é    N©Ú	DataFramec                 C   s6   zt  | ¡W S  ty0   t d| › d¡ Y n0 d S )Nzskipping as z not available)Ú	importlibÚimport_moduleÚModuleNotFoundErrorÚpytestÚskip)Úname© r
   úl/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/pandas/tests/test_downstream.pyr      s    r   c                   C   s   t dg d¢iƒS )NÚA)é   é   é   r   r
   r
   r
   r   Údf   s    r   z,ignore:.*64Index is deprecated:FutureWarningc              
   C   sv   t  d¡}zXtdƒ}tdƒ}dd lm} |j| dd}|jd usDJ ‚| ¡ d usTJ ‚W t  d|¡ nt  d|¡ 0 d S )Núcompute.use_numexprÚtoolzÚdaskr   r   ©Znpartitions)	ÚpdÚ
get_optionr   Údask.dataframeÚ	dataframeÚfrom_pandasr   ÚcomputeÚ
set_option)r   Úolduser   r   ÚddZddfr
   r
   r   Ú	test_dask!   s    
r   c               
   C   sŽ   t  d¡} zptdƒ}dd lm} dd lm} t  g d¢¡}|j|dd}| 	|¡ 
¡ }t 	|¡}t ||¡ W t  d| ¡ nt  d| ¡ 0 d S )Nr   r   r   )g      ø?gffffff@gš™™™™™@g      @r   r   )r   r   r   Z
dask.arrayÚarrayr   r   ÚSeriesr   Zfixr   ÚnpÚtmZassert_series_equalr   )r   r   Údar   ÚsZdsÚresultÚexpectedr
   r
   r   Útest_dask_ufunc5   s    

r'   c                 C   s   t dƒ}|  ¡ d usJ ‚d S )NÚxarray)r   Z	to_xarray)r   r(   r
   r
   r   Útest_xarrayM   s    r)   Úcftimer(   z0.10.4c                  C   s~   dd l } dd l}|jddd}|  ddd¡}tjtddd	 |j|d
d}W d   ƒ n1 s`0    Y  d}||kszJ ‚d S )Nr   Z0001r   )ZperiodsiÐ  r   Ú
deprecatedF)ÚmatchZcheck_stacklevelZnearest)Úmethod)r*   r(   Zcftime_rangeZDatetimeGregorianr"   Zassert_produces_warningÚFutureWarningZget_loc)r*   r(   ÚtimesÚkeyr%   r&   r
   r
   r   Útest_xarray_cftimeindex_nearestT   s    ÿ,r1   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_optimizablee   s    r:   c                   C   s   t  tjdddg¡ d S )Nr2   r3   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))r5   r
   r
   r
   r   Ú)test_oo_optimized_datetime_index_unpicklej   s    ûÿr;   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_rdatasetr=   ZolsÚfit)r<   ÚsmZsmfr   r
   r
   r   Útest_statsmodelsy   s
    rB   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   )r?   Úsvmgü©ñÒMbP?g      Y@)ÚgammaÚCéÿÿÿÿ)
r   rC   r?   rD   Zload_digitsZSVCr@   r=   ÚtargetZpredict)r   rC   r?   rD   ÚdigitsZclfr
   r
   r   Útest_scikit_learn’   s     rJ   Úignorec                  C   s&   t dƒ} |  d¡}| jdd|d d S )NÚseabornÚtipsÚdayZ
total_bill)ÚxÚyr=   )r   Zload_datasetZ	stripplot)rL   rM   r
   r
   r   Útest_seaborn¢   s    
rQ   c                 C   s   t dƒ}d S )NÚ
pandas_gbq)r   )r   rR   r
   r
   r   Útest_pandas_gbq¬   s    rS   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)rV   r
   r
   r   Útest_pandas_datareader±   s    	rX   z"ignore:can't resolve:ImportWarningc                  C   s*   t dƒ} | j d¡}|  |¡d us&J ‚d S )NÚ	geopandasZnaturalearth_lowres)r   r?   Úget_pathÚ	read_file)rY   Úfpr
   r
   r   Útest_geopandas¿   s    r]   z4ignore:RangeIndex.* is deprecated:DeprecationWarningc                 C   s,   t dƒ}|j | ¡}| ¡ }t || ¡ d S )NÚpyarrow)r   ZTabler   Z	to_pandasr"   Úassert_frame_equal)r   r^   Útabler%   r
   r
   r   Útest_pyarrowÈ   s    ra   c                 C   sR   t dƒ}| dd¡}t|ƒ}| s0t ||¡s0J ‚t |d ¡}t ||¡sNJ ‚d S )NÚtorchi¼  é@   r   )r   Zrandnr   r!   Zshares_memoryr   r    )Zusing_array_managerrb   Z
val_tensorr   Zserr
   r
   r   Útest_torch_frame_constructionÒ   s    rd   c                 C   sN   t dƒ}| | ¡}|j||jd}t | |¡ |j||jd}t | |¡ d S )NÚyaml)ÚLoader)r   ÚdumpÚloadrf   r"   r_   ZUnsafeLoader)r   re   ZdumpedZloadedZloaded2r
   r
   r   Útest_yaml_dumpà   s    
ri   c                  C   s¶   t j dd¡} | ddg}t |¡ ¡ }d|v r8t d¡ | dddg}d	| › d
}tjtj	|d }tj|tj
d W d   ƒ n1 s†0    Y  |jj ¡ }dD ]}||v s J ‚q d S )Nú\ú/r3   z$import pandas;print(pandas.__file__)zsite-packagesz pandas installed as site packagez-sSEr4   zCommand '\['zD', '-sSE', '-c', 'import pandas'\]' returned non-zero exit status 1.)r,   )Ústderr)ÚnumpyZpytzZdateutil)r8   r9   Úreplacer6   Úcheck_outputÚdecoder   r   rT   ÚCalledProcessErrorÚSTDOUTÚvalueÚstdout)ZpyexeÚcallÚoutputÚmsgÚexcr	   r
   r
   r   Ú test_missing_required_dependencyí   s    


ÿ.ry   )*Ú__doc__r   r6   r8   rm   r!   r   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr   r   Zpandas._testingZ_testingr"   r   Zfixturer   ÚmarkÚfilterwarningsr   r'   r)   Z
skip_if_nor1   r:   r;   ÚnetworkrB   rJ   rQ   rS   ZxfailÚ
ValueErrorrX   r]   ra   rd   ri   ry   r
   r
   r
   r   Ú<module>   sp   









þþ


þ



