diff options
| author | Eddy Pedroni <epedroni@pm.me> | 2026-10-23 08:40:37 +0200 |
|---|---|---|
| committer | Eddy Pedroni <epedroni@pm.me> | 2026-10-23 08:40:37 +0200 |
| commit | 2165cb8be7a0c74d2902ec5431cac429ac5050b2 (patch) | |
| tree | 60c10ae91fd44b171813cb0aeecd4123c24124d8 /solo-tool-project | |
| parent | b30076f625912643b16d651e16ce8277e6d71ba2 (diff) | |
Diffstat (limited to 'solo-tool-project')
| -rw-r--r-- | solo-tool-project/src/solo_tool/solo_tool.py | 12 | ||||
| -rw-r--r-- | solo-tool-project/test/player_mock.py | 18 | ||||
| -rw-r--r-- | solo-tool-project/test/solo_tool_tracks_integrationtest.py | 74 |
3 files changed, 98 insertions, 6 deletions
diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py index 5ac7140..591d303 100644 --- a/solo-tool-project/src/solo_tool/solo_tool.py +++ b/solo-tool-project/src/solo_tool/solo_tool.py @@ -15,12 +15,12 @@ class SoloTool: self._adHoc = False tracks = [ - ("vocalTrackEnabled", Player.VOCAL_TRACK), - ("guitarTrackEnabled", Player.GUITAR_TRACK), - ("bassTrackEnabled", Player.BASS_TRACK), - ("pianoTrackEnabled", Player.PIANO_TRACK), - ("drumTrackEnabled", Player.DRUM_TRACK), - ("otherTrackEnabled", Player.OTHER_TRACK) + ("vocalTrackEnabled", self._player.VOCAL_TRACK), + ("guitarTrackEnabled", self._player.GUITAR_TRACK), + ("bassTrackEnabled", self._player.BASS_TRACK), + ("pianoTrackEnabled", self._player.PIANO_TRACK), + ("drumTrackEnabled", self._player.DRUM_TRACK), + ("otherTrackEnabled", self._player.OTHER_TRACK) ] for trackName, trackId in tracks: if not hasattr(type(self), trackName): diff --git a/solo-tool-project/test/player_mock.py b/solo-tool-project/test/player_mock.py index a234e80..8c999d2 100644 --- a/solo-tool-project/test/player_mock.py +++ b/solo-tool-project/test/player_mock.py @@ -1,4 +1,11 @@ class Player(): + VOCAL_TRACK = 1 + GUITAR_TRACK = 2 + BASS_TRACK = 3 + PIANO_TRACK =4 + DRUM_TRACK = 5 + OTHER_TRACK = 6 + def __init__(self): self.playing = False self.rate = 1.0 @@ -7,6 +14,8 @@ class Player(): self.currentSong = None self.playingStateChangedCallback = None self.playbackVolumeChangedCallback = None + self.tSupported = False + self.tracks = {i+1: True for i in range(6)} def play(self): previousState = self.playing @@ -60,3 +69,12 @@ class Player(): def simulatePlaybackVolumeChanged(self): self.playbackVolumeChangedCallback() + + def tracksSupported(self): + return self.tSupported + + def trackEnabled(self, trackId): + return self.tracks[trackId] + + def setTrackEnabled(self, trackId, enable): + self.tracks[trackId] = enable diff --git a/solo-tool-project/test/solo_tool_tracks_integrationtest.py b/solo-tool-project/test/solo_tool_tracks_integrationtest.py new file mode 100644 index 0000000..55b20c3 --- /dev/null +++ b/solo-tool-project/test/solo_tool_tracks_integrationtest.py @@ -0,0 +1,74 @@ +import pytest + +from fixtures import soloTool as uut, mockPlayer, testSongs + +def test_trackConfigurationFlow(uut, mockPlayer, testSongs): + # Track support is reported according to player + mockPlayer.tSupported = False + assert not uut.tracksSupported + mockPlayer.tSupported = True + assert uut.tracksSupported + + # Enabling each track affects the player accordingly + # Tracks are numbered according to the grabnsplit layout + expectedTrackState = mockPlayer.tracks.copy() + + uut.vocalTrackEnabled = False + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[1] = False + assert mockPlayer.tracks == expectedTrackState + + uut.vocalTrackEnabled = True + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[1] = True + assert mockPlayer.tracks == expectedTrackState + + uut.guitarTrackEnabled = False + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[2] = False + assert mockPlayer.tracks == expectedTrackState + + uut.guitarTrackEnabled = True + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[2] = True + assert mockPlayer.tracks == expectedTrackState + + uut.bassTrackEnabled = False + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[3] = False + assert mockPlayer.tracks == expectedTrackState + + uut.bassTrackEnabled = True + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[3] = True + assert mockPlayer.tracks == expectedTrackState + + uut.pianoTrackEnabled = False + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[4] = False + assert mockPlayer.tracks == expectedTrackState + + uut.pianoTrackEnabled = True + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[4] = True + assert mockPlayer.tracks == expectedTrackState + + uut.drumTrackEnabled = False + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[5] = False + assert mockPlayer.tracks == expectedTrackState + + uut.drumTrackEnabled = True + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[5] = True + assert mockPlayer.tracks == expectedTrackState + + uut.otherTrackEnabled = False + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[6] = False + assert mockPlayer.tracks == expectedTrackState + + uut.otherTrackEnabled = True + assert mockPlayer.tracks != expectedTrackState + expectedTrackState[6] = True + assert mockPlayer.tracks == expectedTrackState |
