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