U
    »mœdj  ã                   @   sN   d 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
ZG dd„ dƒZdS )zK
Ensure that we can use pathlib.Path objects in all relevant IO functions.
é    )ÚPathN)Útempdirc                   @   sv   e Zd Ze d¡ ej¡Zdd„ Zdd„ Z	dd„ Z
dd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )Ú	TestPathsé   c              	   C   sB   t ƒ �2}t|ƒd }tj |d| ji¡ | ¡ s4t‚W 5 Q R X d S ©Núdata.matÚdata)r   r   ÚscipyÚioÚsavematr   Úis_fileÚAssertionError)ÚselfÚtemp_dirÚpath© r   úR/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/scipy/io/tests/test_paths.pyÚtest_savemat   s    zTestPaths.test_savematc              	   C   s\   t ƒ �L}t|ƒd }tj t|ƒd| ji¡ tj |¡}|d | jk ¡ sNt	‚W 5 Q R X d S r   )
r   r   r	   r
   r   Ústrr   ZloadmatÚallr   )r   r   r   Zmat_contentsr   r   r   Útest_loadmat   s
    zTestPaths.test_loadmatc              	   C   sV   t ƒ �F}t|ƒd }tj t|ƒd| ji¡ tj |¡}|d dksHt‚W 5 Q R X d S )Nr   r   r   )r   )é   r   Úint64)	r   r   r	   r
   r   r   r   Zwhosmatr   )r   r   r   Úcontentsr   r   r   Útest_whosmat    s
    zTestPaths.test_whosmatc                 C   s   t tƒjd }tj |¡ d S )Nzdata/scalar_string.sav)r   Ú__file__Úparentr	   r
   Zreadsav©r   r   r   r   r   Útest_readsav)   s    zTestPaths.test_readsavc              	   C   sf   t ƒ �V}tj tj d¡¡}t|ƒd }tj t|ƒ|¡ tj 	|¡}||kj
dksXt‚W 5 Q R X d S )Né   údata.hbr   )r   r	   ÚsparseÚ
csr_matrixÚeyer   r
   Úhb_writer   Zhb_readÚnnzr   ©r   r   r   r   Zdata_newr   r   r   Útest_hb_read-   s    zTestPaths.test_hb_readc              	   C   sP   t ƒ �@}tj tj d¡¡}t|ƒd }tj ||¡ | ¡ sBt	‚W 5 Q R X d S )Nr   r    )
r   r	   r!   r"   r#   r   r
   r$   r   r   ©r   r   r   r   r   r   r   Útest_hb_write7   s
    zTestPaths.test_hb_writec              	   C   sf   t ƒ �V}tj tj d¡¡}t|ƒd }tj t|ƒ|¡ tj 	|¡}||kj
dksXt‚W 5 Q R X d S )Nr   údata.mtxr   )r   r	   r!   r"   r#   r   r
   Úmmwriter   Zmmreadr%   r   r&   r   r   r   Útest_mmio_read>   s    zTestPaths.test_mmio_readc              	   C   sD   t ƒ �4}tj tj d¡¡}t|ƒd }tj ||¡ W 5 Q R X d S )Nr   r*   )r   r	   r!   r"   r#   r   r
   r+   r(   r   r   r   Útest_mmio_writeH   s    zTestPaths.test_mmio_writec                 C   s   t tƒjd }tj |¡ d S )Nzdata/example_1.nc)r   r   r   r	   r
   Znetcdf_filer   r   r   r   Útest_netcdf_fileN   s    zTestPaths.test_netcdf_filec                 C   s    t tƒjd }tjj |¡ d S ©Nz"data/test-8000Hz-le-2ch-1byteu.wav)r   r   r   r	   r
   ÚwavfileÚreadr   r   r   r   Útest_wavfile_readR   s    zTestPaths.test_wavfile_readc              	   C   sZ   t tƒjd }tjj t|ƒ¡\}}tƒ �&}t |ƒ|j	 }tjj 
|||¡ W 5 Q R X d S r/   )r   r   r   r	   r
   r0   r1   r   r   ÚnameÚwrite)r   Z
input_pathZrater   r   Zoutput_pathr   r   r   Útest_wavfile_writeV   s
    zTestPaths.test_wavfile_writeN)Ú__name__Ú
__module__Ú__qualname__ÚnpZarangeZastyper   r   r   r   r   r   r'   r)   r,   r-   r.   r2   r5   r   r   r   r   r      s   		

r   )Ú__doc__Úpathlibr   Únumpyr9   Zscipy.ior	   Zscipy.io.wavfileZscipy._lib._tmpdirsr   Zscipy.sparser   r   r   r   r   Ú<module>   s   