U
    ÃmœdÃ  ã                   @   s`   d dl mZ d dlmZ d dlZd dlZd dlZd dlmZ d dl	m
Z
mZ dd„ Zdd	„ ZdS )
é    )Úlrange)ÚBytesION)Úassert_equal)Úload_pickleÚsave_picklec               	   C   sè   t jdd�} tdƒ}| d }t||ƒ t|ƒ}t||ƒ t | ¡d }t||ƒ t|ƒ}t||ƒ z"t 	|¡ t 	|¡ t 
| ¡ W n ttfk
rœ   Y nX tj | ¡r®t‚tƒ }t||ƒ | dd¡ t|ƒ}| ¡  t||ƒ d S )NÚpickle©Úprefixé
   z/res.pklúres2.pklr   )ÚtempfileÚmkdtempr   r   r   r   ÚpathlibÚPathÚosÚremoveÚrmdirÚOSErrorÚIOErrorÚpathÚexistsÚAssertionErrorr   ÚseekÚclose)ÚtmpdirÚaZpath_strÚbÚpath_pathlibÚcÚfhÚd© r!   ú\/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/iolib/tests/test_pickle.pyÚtest_pickle   s.    






r#   c                  C   sT   t jdd�} tdƒ}G dd„ dƒ}|| tj d ƒ}t||ƒ t|ƒ}t||ƒ d S )Nr   r   r
   c                   @   s   e Zd Zdd„ Zddd„ZdS )	z*test_pickle_supports_open.<locals>.SubPathc                 S   s   t  |¡| _d S )N)r   r   Ú_path)Úselfr   r!   r!   r"   Ú__init__4   s    z3test_pickle_supports_open.<locals>.SubPath.__init__ÚréÿÿÿÿNc                 S   s   | j j|||||d�S )N)ÚmodeÚ	bufferingÚencodingÚerrorsÚnewline)r$   Úopen)r%   r)   r*   r+   r,   r-   r!   r!   r"   r.   7   s    ûz/test_pickle_supports_open.<locals>.SubPath.open)r'   r(   NNN)Ú__name__Ú
__module__Ú__qualname__r&   r.   r!   r!   r!   r"   ÚSubPath3   s        úr2   r   )r   r   r   r   Úpathsepr   r   r   )r   r   r2   r   r   r!   r!   r"   Útest_pickle_supports_open/   s    
r4   )Zstatsmodels.compat.pythonr   Úior   r   r   r   Znumpy.testingr   Zstatsmodels.iolib.smpickler   r   r#   r4   r!   r!   r!   r"   Ú<module>   s   "