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) | 
