3
Pd                 @   sV   d Z ddl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.
    N)Path)tempdirc               @   sv   e Zd Zejdj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j|d| ji |j s4tW d Q R X d S )Nzdata.matdata)r   r   scipyiosavematr   is_fileAssertionError)selftemp_dirpath r   M/var/www/html/virt/lib64/python3.6/site-packages/scipy/io/tests/test_paths.pytest_savemat   s    zTestPaths.test_savematc             C   s\   t  L}t|d }tjjt|d| ji tjj|}|d | jkj sNt	W d Q R X d S )Nzdata.matr   )
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jt|d| ji tjj|}|d dksHtW d Q R X d S )	Nzdata.matr   r      r   int64r   r   )r   r   r   )	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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   sj   t  Z}tjjtjjd}t|d }tjjjt	|| tjjj
|}||kjdks\tW d Q R X d S )N   zdata.hbr   )r   r   sparse
csr_matrixeyer   r   harwell_boeinghb_writer   Zhb_readnnzr   )r   r   r   r   data_newr   r   r   test_hb_read.   s    zTestPaths.test_hb_readc          
   C   sR   t  B}tjjtjjd}t|d }tjjj|| |j	 sDt
W d Q R X d S )Nr   zdata.hb)r   r   r   r   r    r   r   r!   r"   r
   r   )r   r   r   r   r   r   r   test_hb_write8   s
    zTestPaths.test_hb_writec          
   C   sf   t  V}tjjtjjd}t|d }tjjt|| tjj	|}||kj
dksXtW d Q R X d S )Nr   zdata.mtxr   )r   r   r   r   r    r   r   mmwriter   Zmmreadr#   r   )r   r   r   r   r$   r   r   r   test_mmio_read?   s    zTestPaths.test_mmio_readc          
   C   sD   t  4}tjjtjjd}t|d }tjj|| W d Q R X d S )Nr   zdata.mtx)r   r   r   r   r    r   r   r'   )r   r   r   r   r   r   r   test_mmio_writeI   s    zTestPaths.test_mmio_writec             C   s    t tjd }tjjj| d S )Nzdata/example_1.nc)r   r   r   r   r   ZnetcdfZnetcdf_file)r   r   r   r   r   test_netcdf_fileO   s    zTestPaths.test_netcdf_filec             C   s    t tjd }tjjj| d S )Nz"data/test-8000Hz-le-2ch-1byteu.wav)r   r   r   r   r   wavfileread)r   r   r   r   r   test_wavfile_readS   s    zTestPaths.test_wavfile_readc             C   sZ   t tjd }tjjjt|\}}t &}t ||j	 }tjjj
||| W d Q R X d S )Nz"data/test-8000Hz-le-2ch-1byteu.wav)r   r   r   r   r   r+   r,   r   r   namewrite)r   Z
input_pathZrater   r   Zoutput_pathr   r   r   test_wavfile_writeW   s
    zTestPaths.test_wavfile_writeN)__name__
__module____qualname__npZarangeZastyper   r   r   r   r   r   r%   r&   r(   r)   r*   r-   r0   r   r   r   r   r      s   		

r   )__doc__syspathlibr   Znumpyr4   Zscipy.ior   Zscipy.io.wavfileZscipy._lib._tmpdirsr   Zscipy.sparser   r   r   r   r   <module>   s   