o
    ?Hhv                     @   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   sX   t  }t|d }tj|d| ji | sJ W d    d S 1 s%w   Y  d S Ndata.matdata)r   r   scipyiosavematr   is_file)selftemp_dirpath r   Y/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/scipy/io/tests/test_paths.pytest_savemat   s
   "zTestPaths.test_savematc                 C   sr   t  ,}t|d }tjt|d| ji tj|}|d | jk s'J W d    d S 1 s2w   Y  d S r   )	r   r   r	   r
   r   strr   loadmatall)r   r   r   mat_contentsr   r   r   test_loadmat   s   "zTestPaths.test_loadmatc                 C   sl   t  )}t|d }tjt|d| ji tj|}|d dks$J W d    d S 1 s/w   Y  d S )Nr   r   r   )r   )   r   int64)r   r   r	   r
   r   r   r   whosmat)r   r   r   contentsr   r   r   test_whosmat    s   "zTestPaths.test_whosmatc                 C      t tjd }tj| d S )Nzdata/scalar_string.sav)r   __file__parentr	   r
   readsavr   r   r   r   r   test_readsav)      zTestPaths.test_readsavc                 C   |   t  1}tjjddd}t|d }tjt|| tjj|dd}||kj	dks,J W d    d S 1 s7w   Y  d S )N   csrformatdata.hbFspmatrixr   )
r   r	   sparse	eye_arrayr   r
   hb_writer   hb_readnnzr   r   r   r   data_newr   r   r   test_hb_read-      "zTestPaths.test_hb_readc                 C   sb   t  $}tjjddd}t|d }tj|| | sJ W d    d S 1 s*w   Y  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   r$   )Nr%   r&   r'   data.mtxFr*   r   )
r   r	   r,   r-   r   r
   mmwriter   mmreadr0   r1   r   r   r   test_mmio_read>   r4   zTestPaths.test_mmio_readc                 C   sV   t  }tjjddd}t|d }tj|| W d    d S 1 s$w   Y  d S )Nr%   r&   r'   r7   )r   r	   r,   r-   r   r
   r8   r5   r   r   r   test_mmio_writeH   s
   "zTestPaths.test_mmio_writec                 C   r   )Nzdata/example_1.nc)r   r   r   r	   r
   netcdf_filer!   r   r   r   test_netcdf_fileN   r#   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   sp   t tjd }tjjt|\}}t }t ||j	 }tjj
||| W d    d S 1 s1w   Y  d S r>   )r   r   r   r	   r
   r?   r@   r   r   namewrite)r   
input_pathrater   r   output_pathr   r   r   test_wavfile_writeV   s   "zTestPaths.test_wavfile_writeN)__name__
__module____qualname__nparangeastyper   r   r   r   r   r"   r3   r6   r:   r;   r=   rA   rG   r   r   r   r   r      s    		

r   )__doc__pathlibr   numpyrK   scipy.ior	   scipy.io.wavfilescipy._lib._tmpdirsr   scipy.sparser   r   r   r   r   <module>   s    