aboutsummaryrefslogtreecommitdiffstats
path: root/solo-tool-project/test
diff options
context:
space:
mode:
Diffstat (limited to 'solo-tool-project/test')
-rw-r--r--solo-tool-project/test/session_manager_unittest.py71
1 files changed, 19 insertions, 52 deletions
diff --git a/solo-tool-project/test/session_manager_unittest.py b/solo-tool-project/test/session_manager_unittest.py
index 5468880..d7c5e7f 100644
--- a/solo-tool-project/test/session_manager_unittest.py
+++ b/solo-tool-project/test/session_manager_unittest.py
@@ -1,6 +1,8 @@
-from solo_tool.session_manager import SessionManager
+from solo_tool.session_manager import loadSession, saveSession
from json import loads, dumps
+import pytest
+
testSession = [
{
"path" : "/path/to/another/song",
@@ -64,40 +66,17 @@ class MockFile:
def read(self):
return self.contents
+@pytest.fixture
+def playlistMock():
+ return PlaylistMock()
-def test_addSongs():
- songs = [
- "/path/to/song",
- "/path/to/another/song"
- ]
-
- playlistMock = PlaylistMock()
- uut = SessionManager(playlistMock, None)
-
- for s in songs:
- uut.addSong(s)
- assert playlistMock.lastAddedSong == s
-
-def test_addAbLimits():
- abLimits = [
- [0.1, 0.2],
- [0.3, 0.4]
- ]
-
- abControllerMock = ABControllerMock()
- uut = SessionManager(None, abControllerMock)
-
- for i, ab in enumerate(abLimits):
- uut.storeLimits(ab[0], ab[1])
- assert abControllerMock.limits["current"][i] == ab
-
-def test_loadSession():
- playlistMock = PlaylistMock()
- abControllerMock = ABControllerMock()
- uut = SessionManager(playlistMock, abControllerMock)
+@pytest.fixture
+def abControllerMock():
+ return ABControllerMock()
+def test_loadSession(playlistMock, abControllerMock):
sessionFile = MockFile(dumps(testSession))
- uut.loadSession(sessionFile)
+ loadSession(sessionFile, playlistMock, abControllerMock)
for i, entry in enumerate(testSession):
expectedSong = entry["path"]
@@ -108,11 +87,7 @@ def test_loadSession():
assert loadedSong == expectedSong
assert loadedLimits == expectedLimits
-def test_saveSession():
- playlistMock = PlaylistMock()
- abControllerMock = ABControllerMock()
- uut = SessionManager(playlistMock, abControllerMock)
-
+def test_saveSession(playlistMock, abControllerMock):
for i, entry in enumerate(testSession):
song = entry["path"]
playlistMock.addSong(song)
@@ -123,36 +98,28 @@ def test_saveSession():
abControllerMock.storeLimits(l[0], l[1], song)
sessionFile = MockFile()
- uut.saveSession(sessionFile)
+ saveSession(sessionFile, playlistMock, abControllerMock)
savedSession = loads(sessionFile.read())
assert savedSession == testSession
-def test_loadAndSaveEmptySession():
- playlistMock = PlaylistMock()
- abControllerMock = ABControllerMock()
- uut = SessionManager(playlistMock, abControllerMock)
-
+def test_loadAndSaveEmptySession(playlistMock, abControllerMock):
sessionFile = MockFile()
- uut.saveSession(sessionFile)
+ saveSession(sessionFile, playlistMock, abControllerMock)
assert loads(sessionFile.read()) == list()
- uut.loadSession(sessionFile)
+ loadSession(sessionFile, playlistMock, abControllerMock)
songs = playlistMock.getSongs()
assert songs == list()
for s in songs:
assert abControllerMock.getStoredLimits(s) == None
-def test_loadSessionNotAdditive():
- playlistMock = PlaylistMock()
- abControllerMock = ABControllerMock()
- uut = SessionManager(playlistMock, abControllerMock)
-
+def test_loadSessionNotAdditive(playlistMock, abControllerMock):
sessionFile = MockFile(dumps(testSession))
- uut.loadSession(sessionFile)
- uut.loadSession(sessionFile)
+ loadSession(sessionFile, playlistMock, abControllerMock)
+ loadSession(sessionFile, playlistMock, abControllerMock)
songs = playlistMock.getSongs()
assert len(songs) == len(set(songs))