diff options
Diffstat (limited to 'solo-tool-project/test')
-rw-r--r-- | solo-tool-project/test/midi_launchpad_mini_integrationtest.py | 56 | ||||
-rw-r--r-- | solo-tool-project/test/notifier_unittest.py | 2 | ||||
-rw-r--r-- | solo-tool-project/test/player_mock.py | 27 | ||||
-rw-r--r-- | solo-tool-project/test/solo_tool_integrationtest.py | 30 |
4 files changed, 31 insertions, 84 deletions
diff --git a/solo-tool-project/test/midi_launchpad_mini_integrationtest.py b/solo-tool-project/test/midi_launchpad_mini_integrationtest.py index 642733d..c731539 100644 --- a/solo-tool-project/test/midi_launchpad_mini_integrationtest.py +++ b/solo-tool-project/test/midi_launchpad_mini_integrationtest.py @@ -20,7 +20,7 @@ rwd25PcButton = 49 previousSongButton = 48 playPauseButton = 112 -stopButton = 96 +jumpToStartButton = 96 nextKeyPositionButton = 119 previousKeyPositionButton = 118 @@ -67,60 +67,34 @@ def midiWrapperMock(): def uut(soloTool, midiWrapperMock): return MidiController(soloTool, midiWrapperMock) -def test_startStopAndPauseButtons(uut, midiWrapperMock, playerMock): +def test_startAndPauseButtons(uut, midiWrapperMock, playerMock): uut.connect() - assert playerMock.state == PlayerMock.STOPPED + assert not playerMock.playing midiWrapperMock.simulateInput(playPauseButton) - assert playerMock.state == PlayerMock.PLAYING + assert playerMock.playing assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_GREEN, 0) - midiWrapperMock.simulateInput(stopButton) - assert playerMock.state == PlayerMock.STOPPED - assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_YELLOW, 0) - - midiWrapperMock.simulateInput(playPauseButton) - assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_GREEN, 0) - midiWrapperMock.simulateInput(playPauseButton) + assert not playerMock.playing assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_YELLOW, 0) - assert playerMock.state == PlayerMock.PAUSED - - midiWrapperMock.simulateInput(playPauseButton) - assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_GREEN, 0) - assert playerMock.state == PlayerMock.PLAYING - - midiWrapperMock.simulateInput(playPauseButton) - assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_YELLOW, 0) - - midiWrapperMock.simulateInput(stopButton) - assert playerMock.state == PlayerMock.STOPPED def test_startPauseButtonLed(uut, midiWrapperMock, playerMock, soloTool): uut.connect() - assert playerMock.state == PlayerMock.STOPPED + assert not playerMock.playing - playerMock.state = PlayerMock.PLAYING + playerMock.playing = True playerMock.simulatePlayingStateChanged() assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_GREEN, 0) - playerMock.state = PlayerMock.STOPPED - playerMock.simulatePlayingStateChanged() - assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_YELLOW, 0) - - playerMock.state = PlayerMock.PAUSED + playerMock.playing = False playerMock.simulatePlayingStateChanged() assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_YELLOW, 0) - playerMock.state = PlayerMock.PLAYING - playerMock.simulatePlayingStateChanged() - assert midiWrapperMock.getLatestMessage() == (playPauseButton, MidiController.LED_GREEN, 0) - def test_jumpToKeyPositionButton(uut, midiWrapperMock, soloTool, playerMock): soloTool.addSong("test.flac") - soloTool.song = 0 uut.connect() soloTool.keyPoint = 0.5 @@ -129,6 +103,10 @@ def test_jumpToKeyPositionButton(uut, midiWrapperMock, soloTool, playerMock): midiWrapperMock.simulateInput(jumpToKeyPositionButton) assert playerMock.position == 0.5 +# TODO implement +def test_jumpToStartButton(uut, midiWrapperMock, soloTool, playerMock): + pass + def test_previousAndNextSongButtons(uut, midiWrapperMock, soloTool, playerMock): songs = [ "test.flac", @@ -156,7 +134,6 @@ def test_previousAndNextKeyPositionButtons(uut, midiWrapperMock, soloTool, playe keyPoints = [0.2, 0.1] soloTool.addSong(song) - soloTool.song = 0 soloTool.keyPoints = keyPoints uut.connect() @@ -318,7 +295,7 @@ def test_connectDisconnect(uut, midiWrapperMock): [(i, LED_GREEN, 0) for i in range(0, 6)] + # volume row [(i, LED_YELLOW, 0) for i in range(16, 22)] + # playback rate row [ - (stopButton, LED_RED, 0), + (jumpToStartButton, LED_YELLOW, 0), (playPauseButton, LED_YELLOW, 0), (jumpToKeyPositionButton, LED_YELLOW, 0), (previousKeyPositionButton, LED_RED, 0), @@ -357,19 +334,17 @@ def test_playingFeedbackWhenChangingSong(uut, midiWrapperMock, soloTool, playerM soloTool.addSong(s) uut.connect() - soloTool.song = 0 soloTool.play() - assert playerMock.state == PlayerMock.PLAYING + assert playerMock.playing assert midiWrapperMock.getLatestMessage() == (playPauseButton, LED_GREEN, 0) soloTool.song = 1 - assert playerMock.state == PlayerMock.STOPPED + assert not playerMock.playing assert midiWrapperMock.getLatestMessage() == (playPauseButton, LED_YELLOW, 0) def test_setKeyPositionButton(uut, midiWrapperMock, soloTool, playerMock): song = "test.flac" soloTool.addSong(song) - soloTool.song = 0 uut.connect() @@ -388,7 +363,6 @@ def test_setKeyPositionButton(uut, midiWrapperMock, soloTool, playerMock): def test_seekButtons(uut, midiWrapperMock, soloTool, playerMock): song = "test.flac" soloTool.addSong(song) - soloTool.song = 0 uut.connect() diff --git a/solo-tool-project/test/notifier_unittest.py b/solo-tool-project/test/notifier_unittest.py index 4ab6096..5749149 100644 --- a/solo-tool-project/test/notifier_unittest.py +++ b/solo-tool-project/test/notifier_unittest.py @@ -60,7 +60,7 @@ def test_eventsWithMockPlayer(uut, mockPlayer): assert called assert receivedValue == expectedValue - mockPlayer.state = 1 + mockPlayer.playing = True mockPlayer.volume = 75 checkEvent(Notifier.PLAYING_STATE_EVENT, mockPlayer.simulatePlayingStateChanged, True) diff --git a/solo-tool-project/test/player_mock.py b/solo-tool-project/test/player_mock.py index 3162e0f..e9e9ead 100644 --- a/solo-tool-project/test/player_mock.py +++ b/solo-tool-project/test/player_mock.py @@ -1,10 +1,6 @@ class Player(): - STOPPED = 0 - PLAYING = 1 - PAUSED = 2 - def __init__(self): - self.state = Player.STOPPED + self.playing = False self.rate = 1.0 self.position = 0.0 self.volume = 1.0 @@ -13,25 +9,19 @@ class Player(): self.playbackVolumeChangedCallback = None def play(self): - previousState = self.state - self.state = Player.PLAYING - if previousState != Player.PLAYING: - self.playingStateChangedCallback() - - def stop(self): - previousState = self.state - self.state = Player.STOPPED - if previousState != Player.STOPPED: + previousState = self.playing + self.playing = True + if previousState != self.playing: self.playingStateChangedCallback() def pause(self): - previousState = self.state - self.state = Player.PAUSED - if previousState != Player.PAUSED: + previousState = self.playing + self.playing = False + if previousState != self.playing: self.playingStateChangedCallback() def isPlaying(self): - return self.state == Player.PLAYING + return self.playing def setPlaybackRate(self, rate): self.rate = rate @@ -55,7 +45,6 @@ class Player(): return self.volume def setCurrentSong(self, path): - self.stop() self.currentSong = path def setPlayingStateChangedCallback(self, callback): diff --git a/solo-tool-project/test/solo_tool_integrationtest.py b/solo-tool-project/test/solo_tool_integrationtest.py index fb759b0..f8ed2f1 100644 --- a/solo-tool-project/test/solo_tool_integrationtest.py +++ b/solo-tool-project/test/solo_tool_integrationtest.py @@ -26,17 +26,14 @@ def prepared_tmp_path(tmp_path): return tmp_path def test_playerControls(uut, mockPlayer): - assert mockPlayer.state == MockPlayer.STOPPED - assert uut.playing == False + assert not mockPlayer.playing + assert not uut.playing uut.play() - assert mockPlayer.state == MockPlayer.PLAYING - assert uut.playing == True + assert mockPlayer.playing + assert uut.playing uut.pause() - assert mockPlayer.state == MockPlayer.PAUSED - assert uut.playing == False - uut.stop() - assert mockPlayer.state == MockPlayer.STOPPED - assert uut.playing == False + assert not mockPlayer.playing + assert not uut.playing assert mockPlayer.rate == 1.0 uut.rate = 0.5 @@ -110,7 +107,6 @@ def test_sanitizePlaybackVolume(uut): def test_playingStateNotification(uut, mockPlayer): song = "test.flac" uut.addSong(song) - uut.song = 0 called = False receivedValue = None @@ -121,7 +117,7 @@ def test_playingStateNotification(uut, mockPlayer): uut.registerPlayingStateCallback(callback) - assert mockPlayer.state == MockPlayer.STOPPED + assert not mockPlayer.playing assert not called uut.play() @@ -138,18 +134,6 @@ def test_playingStateNotification(uut, mockPlayer): uut.pause() assert not called - uut.play() - assert called - assert receivedValue == True - called = False - - uut.stop() - assert called - assert receivedValue == False - called = False - uut.stop() - assert not called - def test_playbackVolumeNotification(uut, mockPlayer): song = "test.flac" uut.addSong(song) |