예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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)