from solo_tool import SoloTool from time import sleep class MockPlayer(): STOPPED = 0 PLAYING = 1 PAUSED = 2 def __init__(self): self.state = MockPlayer.STOPPED self.rate = 1.0 self.position = 0.0 self.volume = 1.0 self.currentSong = "" def play(self): self.state = MockPlayer.PLAYING def stop(self): self.state = MockPlayer.STOPPED def pause(self): self.state = MockPlayer.PAUSED def setPlaybackRate(self, rate): self.rate = rate def getPlaybackRate(self): return self.rate def setPlaybackPosition(self, position): self.position = position def getPlaybackPosition(self): return self.position def setPlaybackVolume(self, volume): self.volume = volume def getPlaybackVolume(self): return self.volume def setCurrentSong(self, path): self.currentSong = path def test_addAndSetSong(): song = "/path/to/song" mockPlayer = MockPlayer() uut = SoloTool(mockPlayer) uut.addSong(song) uut.setSong(0) def test_playerControls(): mockPlayer = MockPlayer() uut = SoloTool(mockPlayer) assert mockPlayer.state == MockPlayer.STOPPED uut.play() assert mockPlayer.state == MockPlayer.PLAYING uut.pause() assert mockPlayer.state == MockPlayer.PAUSED uut.stop() assert mockPlayer.state == MockPlayer.STOPPED assert mockPlayer.rate == 1.0 uut.setPlaybackRate(0.5) assert mockPlayer.rate == 0.5 assert mockPlayer.position == 0.0 uut.setPlaybackPosition(0.5) assert mockPlayer.position == 0.5 assert mockPlayer.volume == 1.0 uut.setPlaybackVolume(0.5) assert mockPlayer.volume == 0.5