aboutsummaryrefslogtreecommitdiffstats
path: root/midi_launchpad_mini_unittest.py
diff options
context:
space:
mode:
Diffstat (limited to 'midi_launchpad_mini_unittest.py')
-rw-r--r--midi_launchpad_mini_unittest.py111
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)