From 336ee67aa4b6c467d3d936124db16ce7dcd5a3b3 Mon Sep 17 00:00:00 2001 From: Eddy Pedroni Date: Sat, 22 Feb 2025 10:44:50 +0100 Subject: Simplify session management --- solo-tool-project/test/session_manager_unittest.py | 71 ++++++---------------- 1 file changed, 19 insertions(+), 52 deletions(-) (limited to 'solo-tool-project/test/session_manager_unittest.py') 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)) -- cgit v1.2.3