aboutsummaryrefslogtreecommitdiffstats
path: root/solo-tool-project/test/solo_tool_tracks_integrationtest.py
blob: 55b20c3320f3ab083bc51c32ccfd01092d2da5ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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