diff options
Diffstat (limited to 'midi_launchpad_mini_unittest.py')
-rw-r--r-- | midi_launchpad_mini_unittest.py | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/midi_launchpad_mini_unittest.py b/midi_launchpad_mini_unittest.py deleted file mode 100644 index 4601c8d..0000000 --- a/midi_launchpad_mini_unittest.py +++ /dev/null @@ -1,111 +0,0 @@ -import pytest - -from midi_controller_launchpad_mini import MidiController -from solo_tool import SoloTool -from player_mock import Player as PlayerMock - -class MidiWrapperMock: - def __init__(self): - self.callback = None - self.connectedDevice = None - self.lastMessageSent = None - - def setCallback(self, callback): - self.callback = callback - - def connect(self, deviceName): - self.connectedDevice = deviceName - - def sendMessage(self, note, velocity=127, channel=0): - pass - - def simulateInput(self, note, velocity=127, channel=0): - if self.callback is not None: - from mido import Message - msg = Message("note_on", note=note, velocity=velocity, channel=channel) - self.callback(msg) - -@pytest.fixture -def playerMock(): - return PlayerMock() - -@pytest.fixture -def soloTool(playerMock): - return SoloTool(playerMock) - -@pytest.fixture -def midiWrapperMock(): - return MidiWrapperMock() - -@pytest.fixture -def uut(soloTool, midiWrapperMock): - return MidiController(soloTool, midiWrapperMock) - -def test_connect(uut, midiWrapperMock): - expectedDevice = "Launchpad Mini MIDI 1" - uut.connect() - - assert midiWrapperMock.connectedDevice == expectedDevice - -def test_startStopAndPauseButtons(uut, midiWrapperMock, playerMock): - playPauseButton = 112 - stopButton = 96 - uut.connect() - - assert playerMock.state == PlayerMock.STOPPED - - midiWrapperMock.simulateInput(playPauseButton) - assert playerMock.state == PlayerMock.PLAYING - - midiWrapperMock.simulateInput(stopButton) - assert playerMock.state == PlayerMock.STOPPED - - midiWrapperMock.simulateInput(playPauseButton) - midiWrapperMock.simulateInput(playPauseButton) - assert playerMock.state == PlayerMock.PAUSED - - midiWrapperMock.simulateInput(playPauseButton) - assert playerMock.state == PlayerMock.PLAYING - - midiWrapperMock.simulateInput(playPauseButton) - midiWrapperMock.simulateInput(stopButton) - assert playerMock.state == PlayerMock.STOPPED - -def test_jumpToAButton(uut, midiWrapperMock, soloTool, playerMock): - ab = (0.5, 0.6) - uut.connect() - - soloTool.setAbLimits(ab[0], ab[1]) - assert playerMock.position == 0.0 - - midiWrapperMock.simulateInput(101) - assert playerMock.position == ab[0] - -def test_previousAndNextSongButtons(uut, midiWrapperMock, soloTool, playerMock): - songs = [ - "test.flac", - "test.mp3" - ] - for s in songs: - soloTool.addSong(s) - uut.connect() - - assert playerMock.currentSong == None - midiWrapperMock.simulateInput(119) - assert playerMock.currentSong == songs[0] - - midiWrapperMock.simulateInput(119) - assert playerMock.currentSong == songs[1] - - midiWrapperMock.simulateInput(118) - assert playerMock.currentSong == songs[0] - - midiWrapperMock.simulateInput(118) - assert playerMock.currentSong == songs[0] - -def test_unprogrammedButton(uut, midiWrapperMock): - unusedButton = 48 - uut.connect() - - # expect no crash - midiWrapperMock.simulateInput(48) |