def test_write_wav_nd(noise_two_by_two_channel, tmpdir): """Test for signals of higher dimension.""" filename = os.path.join(tmpdir, 'test_wav.wav') io.write_wav(noise_two_by_two_channel, filename) signal_reload = wavfile.read(filename)[-1].T npt.assert_allclose( signal_reload.reshape(noise_two_by_two_channel.time.shape), noise_two_by_two_channel.time)
def test_write_wav_nd(noise_two_by_three_channel, tmpdir): """Test for signals of higher dimension.""" filename = os.path.join(tmpdir, 'test_wav.wav') with pytest.warns(UserWarning, match='flattened'): io.write_wav(noise_two_by_three_channel, filename) signal_reload = wavfile.read(filename)[-1].T npt.assert_allclose( signal_reload.reshape(noise_two_by_three_channel.time.shape), noise_two_by_three_channel.time)
def test_write_wav_suffix(noise, tmpdir): """Test for .wav extension of filename.""" filename = pathlib.Path(tmpdir, 'test_wav') io.write_wav(noise, filename) # Without suffix with pytest.raises(FileNotFoundError): wavfile.read(filename) # With suffix added filename = filename.with_suffix('.wav') signal_reload = wavfile.read(filename)[-1].T npt.assert_allclose(noise.time, np.atleast_2d(signal_reload), rtol=1e-10)
def test_write_wav_overwrite(noise, tmpdir): """Test overwriting behavior.""" filename = os.path.join(tmpdir, 'test_wav.wav') io.write_wav(noise, filename) # Call with overwrite disabled with pytest.raises(FileExistsError): io.write_wav(noise, filename, overwrite=False) # Call with overwrite enabled io.write_wav(noise, filename, overwrite=True)
def test_write_wav_pathlib(noise, tmpdir): """Test write functionality with filename as pathlib Path object.""" filename = pathlib.Path(tmpdir, 'test_wav.wav') io.write_wav(noise, filename) signal_reload = wavfile.read(filename)[-1].T npt.assert_allclose(noise.time, np.atleast_2d(signal_reload), rtol=1e-10)
def test_write_wav(tmpdir, noise): """Test default without optional parameters.""" filename = os.path.join(tmpdir, 'test_wav.wav') io.write_wav(noise, filename) signal_reload = wavfile.read(filename)[-1].T npt.assert_allclose(noise.time, np.atleast_2d(signal_reload), rtol=1e-10)