|
""" |
|
Ensure that we can use pathlib.Path objects in all relevant IO functions. |
|
""" |
|
from pathlib import Path |
|
|
|
import numpy as np |
|
|
|
import scipy.io |
|
import scipy.io.wavfile |
|
from scipy._lib._tmpdirs import tempdir |
|
import scipy.sparse |
|
|
|
|
|
class TestPaths: |
|
data = np.arange(5).astype(np.int64) |
|
|
|
def test_savemat(self): |
|
with tempdir() as temp_dir: |
|
path = Path(temp_dir) / 'data.mat' |
|
scipy.io.savemat(path, {'data': self.data}) |
|
assert path.is_file() |
|
|
|
def test_loadmat(self): |
|
|
|
with tempdir() as temp_dir: |
|
path = Path(temp_dir) / 'data.mat' |
|
scipy.io.savemat(str(path), {'data': self.data}) |
|
|
|
mat_contents = scipy.io.loadmat(path) |
|
assert (mat_contents['data'] == self.data).all() |
|
|
|
def test_whosmat(self): |
|
|
|
with tempdir() as temp_dir: |
|
path = Path(temp_dir) / 'data.mat' |
|
scipy.io.savemat(str(path), {'data': self.data}) |
|
|
|
contents = scipy.io.whosmat(path) |
|
assert contents[0] == ('data', (1, 5), 'int64') |
|
|
|
def test_readsav(self): |
|
path = Path(__file__).parent / 'data/scalar_string.sav' |
|
scipy.io.readsav(path) |
|
|
|
def test_hb_read(self): |
|
|
|
with tempdir() as temp_dir: |
|
data = scipy.sparse.eye_array(3, format='csr') |
|
path = Path(temp_dir) / 'data.hb' |
|
scipy.io.hb_write(str(path), data) |
|
|
|
data_new = scipy.io.hb_read(path, spmatrix=False) |
|
assert (data_new != data).nnz == 0 |
|
|
|
def test_hb_write(self): |
|
with tempdir() as temp_dir: |
|
data = scipy.sparse.eye_array(3, format='csr') |
|
path = Path(temp_dir) / 'data.hb' |
|
scipy.io.hb_write(path, data) |
|
assert path.is_file() |
|
|
|
def test_mmio_read(self): |
|
|
|
with tempdir() as temp_dir: |
|
data = scipy.sparse.eye_array(3, format='csr') |
|
path = Path(temp_dir) / 'data.mtx' |
|
scipy.io.mmwrite(str(path), data) |
|
|
|
data_new = scipy.io.mmread(path, spmatrix=False) |
|
assert (data_new != data).nnz == 0 |
|
|
|
def test_mmio_write(self): |
|
with tempdir() as temp_dir: |
|
data = scipy.sparse.eye_array(3, format='csr') |
|
path = Path(temp_dir) / 'data.mtx' |
|
scipy.io.mmwrite(path, data) |
|
|
|
def test_netcdf_file(self): |
|
path = Path(__file__).parent / 'data/example_1.nc' |
|
scipy.io.netcdf_file(path) |
|
|
|
def test_wavfile_read(self): |
|
path = Path(__file__).parent / 'data/test-8000Hz-le-2ch-1byteu.wav' |
|
scipy.io.wavfile.read(path) |
|
|
|
def test_wavfile_write(self): |
|
|
|
input_path = Path(__file__).parent / 'data/test-8000Hz-le-2ch-1byteu.wav' |
|
rate, data = scipy.io.wavfile.read(str(input_path)) |
|
|
|
with tempdir() as temp_dir: |
|
output_path = Path(temp_dir) / input_path.name |
|
scipy.io.wavfile.write(output_path, rate, data) |
|
|