U
    Ãmœdí  ã                   @   s¾   d dl Z d dlmZ d dlmZ d dlmZmZ d dlZ	d dl
mZmZ d dlZd dlmZmZmZmZ e j e j e¡¡ZeeeeefZejjdd„ ƒZejjd	d
„ ƒZdd„ Zdd„ ZdS )é    N)ÚSSLError)Útimeout)Ú	HTTPErrorÚURLError)Úassert_Úassert_array_equal)Úget_rdatasetÚwebuseÚcheck_internetÚutilsc                  C   sx   d} t | ƒ}|st d¡ ztddtd�}W n tk
rJ   t d¡ Y nX tt|tj	ƒƒ tddtd�}t|j
ƒ d S )Nz[https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/cars.csvú'Unable to retrieve file - skipping testZDuncanZcarData©Úcacheú3Failed with HTTPError or URLError, these are random)r
   ÚpytestÚskipr   Úcur_dirÚIGNORED_EXCEPTIONSr   Ú
isinstancer   ZDatasetÚ
from_cache)Ztest_urlÚinternet_availableZduncan© r   ú^/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/datasets/tests/test_utils.pyÚtest_get_rdataset   s    
r   c                  C   s�   zt ddtd�} W n tk
r0   t d¡ Y nX t| jdkƒ t ddtd�}t|jdkƒ d}t tj	 
t|¡¡ d}t tj	 
t|¡¡ d S )	NZGuerryZHistDatar   r   FTz\raw.githubusercontent.com,vincentarelbundock,Rdatasets,master,csv,HistData,Guerry-v2.csv.zipz`raw.githubusercontent.com,vincentarelbundock,Rdatasets,master,doc,HistData,rst,Guerry-v2.rst.zip)r   r   r   r   r   r   r   ÚosÚremoveÚpathÚjoin)ZguerryZguerry2Úfnr   r   r   Ú"test_get_rdataset_write_read_cache"   s    r   c                  C   sz   ddl m}  t dd„ | D ƒ¡}d}t|ƒ}|s:t d¡ ztd|dd	�}W n tk
rj   t d
¡ Y nX t	||ƒ d S )Nr   )Úmacrodata_resultc                 S   s   g | ]}t |ƒ‘qS r   )Úlist)Ú.0Úrowr   r   r   Ú
<listcomp>8   s     ztest_webuse.<locals>.<listcomp>úShttps://github.com/statsmodels/statsmodels/raw/main/statsmodels/datasets/macrodata/r   Ú	macrodataF)ÚbaseurlZas_dfr   )
Z)statsmodels.iolib.tests.results.macrodatar    ÚnpÚarrayr
   r   r   r	   r   r   )r    Zres2Úbase_ghr   Úres1r   r   r   Útest_webuse5   s    
r,   c                  C   sŠ   ddl m}  ddlm} | ¡ j}d}t|ƒ}|s<t d¡ zt	d|d�}W n t
k
rj   t d¡ Y nX | t¡}| || t¡ƒ d S )	Nr   )Úassert_frame_equal)r&   r%   r   r&   )r'   z(Failed with HTTP Error, these are random)Zstatsmodels.compat.pandasr-   Ústatsmodels.datasetsr&   Zload_pandasÚdatar
   r   r   r	   r   ZastypeÚfloat)r-   r&   Zdtar*   r   r+   r   r   r   Útest_webuse_pandasE   s    


r1   ) r   Ússlr   Úsocketr   Úurllib.errorr   r   Únumpyr(   Znumpy.testingr   r   r   r.   r   r	   r
   r   r   ÚdirnameÚabspathÚ__file__r   ÚUnicodeEncodeErrorr   ÚmarkZsmoker   r   r,   r1   r   r   r   r   Ú<module>   s"   ÿ

