mirror of
https://github.com/romanz/amodem.git
synced 2026-02-07 01:18:02 +08:00
34 lines
785 B
Python
34 lines
785 B
Python
from amodem import audio
|
|
from amodem import config
|
|
|
|
import mock
|
|
|
|
|
|
def test_pyaudio_mock():
|
|
m = mock.Mock()
|
|
m.paInt16 = 8
|
|
m.PyAudio.return_value = m
|
|
m.open.return_value = m
|
|
|
|
cfg = config.fastest()
|
|
interface = audio.Interface(config=cfg, library=m)
|
|
recorder = interface.recorder()
|
|
n = 1024
|
|
data = recorder.read(n)
|
|
|
|
data = '\x00' * n
|
|
player = interface.player()
|
|
player.write(data)
|
|
|
|
kwargs = dict(
|
|
channels=1, frames_per_buffer=cfg.samples_per_buffer,
|
|
rate=cfg.Fs, format=m.paInt16
|
|
)
|
|
assert m.mock_calls == [
|
|
mock.call.PyAudio(),
|
|
mock.call.open(input=True, **kwargs),
|
|
mock.call.read(n // cfg.sample_size),
|
|
mock.call.open(output=True, **kwargs),
|
|
mock.call.write(data)
|
|
]
|