aboutsummaryrefslogtreecommitdiffstats
path: root/solo_tool_integrationtest.py
diff options
context:
space:
mode:
Diffstat (limited to 'solo_tool_integrationtest.py')
-rw-r--r--solo_tool_integrationtest.py78
1 files changed, 33 insertions, 45 deletions
diff --git a/solo_tool_integrationtest.py b/solo_tool_integrationtest.py
index 2fa923a..b9ce62e 100644
--- a/solo_tool_integrationtest.py
+++ b/solo_tool_integrationtest.py
@@ -1,12 +1,29 @@
-from solo_tool import SoloTool
-from player_mock import Player as MockPlayer
import pathlib
import shutil
+import pytest
-def test_playerControls():
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
-
+from solo_tool import SoloTool
+from player_mock import Player as MockPlayer
+
+@pytest.fixture
+def mockPlayer():
+ return MockPlayer()
+
+@pytest.fixture
+def uut(mockPlayer):
+ return SoloTool(mockPlayer)
+
+@pytest.fixture(autouse=True)
+def copyTestFiles(tmp_path):
+ testFiles = [
+ "test.flac",
+ "test.mp3",
+ "test_session.json"
+ ]
+ for f in testFiles:
+ shutil.copy(pathlib.Path(f), tmp_path)
+
+def test_playerControls(uut, mockPlayer):
assert mockPlayer.state == MockPlayer.STOPPED
assert uut.isPlaying() == False
uut.play()
@@ -31,14 +48,12 @@ def test_playerControls():
uut.setPlaybackVolume(0.5)
assert mockPlayer.volume == 0.5
-def test_addAndSetSongs():
+def test_addAndSetSongs(uut, mockPlayer):
songs = [
"test.flac",
"test.mp3"
]
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
-
+
for s in songs:
uut.addSong(s)
assert mockPlayer.currentSong == None
@@ -47,13 +62,11 @@ def test_addAndSetSongs():
uut.setSong(i)
assert mockPlayer.currentSong == songs[i]
-def test_nextAndPreviousSong():
+def test_nextAndPreviousSong(uut, mockPlayer):
songs = [
"test.flac",
"test.mp3"
]
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
for s in songs:
uut.addSong(s)
@@ -71,14 +84,12 @@ def test_nextAndPreviousSong():
uut.nextSong()
assert mockPlayer.currentSong == songs[1]
-def test_addAndSetAbLimits():
+def test_addAndSetAbLimits(uut, mockPlayer):
song = "test.flac"
abLimits = [
[0.2, 0.4],
[0.1, 0.3]
]
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
uut.addSong(song)
uut.setSong(0)
@@ -115,7 +126,7 @@ def test_addAndSetAbLimits():
uut.tick()
assert mockPlayer.position == 0.1
-def test_multipleSongsAndAbLimits():
+def test_multipleSongsAndAbLimits(uut, mockPlayer):
songs = [
"test.flac",
"test.mp3"
@@ -124,8 +135,6 @@ def test_multipleSongsAndAbLimits():
[0.2, 0.4],
[0.5, 0.7]
]
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
for s in songs:
uut.addSong(s)
@@ -148,13 +157,11 @@ def test_multipleSongsAndAbLimits():
uut.tick()
assert mockPlayer.position == l[0]
-def test_storeAbLimitsWithoutSong():
+def test_storeAbLimitsWithoutSong(uut, mockPlayer):
song = "test.flac"
abLimit = [0.2, 0.4]
overflow = abLimit[1] + 0.1
default = 0.0
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
mockPlayer.position = overflow
uut.setAbLimitEnable(True)
@@ -197,17 +204,7 @@ def test_storeAbLimitsWithoutSong():
uut.tick()
assert mockPlayer.position == abLimit[0]
-def copyTestFiles(tmp_path):
- testFiles = [
- "test.flac",
- "test.mp3",
- "test_session.json"
- ]
- for f in testFiles:
- shutil.copy(pathlib.Path(f), tmp_path)
-
def test_loadAndSaveSession(tmp_path):
- copyTestFiles(tmp_path)
mockPlayer = MockPlayer()
uut = SoloTool(mockPlayer)
@@ -226,22 +223,17 @@ def test_loadAndSaveSession(tmp_path):
assert loadedSession == savedSession
-def test_addInexistentFile():
+def test_addInexistentFile(uut, mockPlayer):
song = "not/a/real/file"
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
-
uut.addSong(song)
uut.setSong(0)
assert mockPlayer.currentSong == None
-def test_getters():
+def test_getters(uut, mockPlayer):
song = "test.flac"
abLimit = [0.2, 0.4]
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
uut.addSong(song)
uut.setSong(0)
@@ -257,15 +249,13 @@ def test_getters():
mockPlayer.position = 0.8
assert uut.getPlaybackPosition() == 0.8
-def test_setTemporaryLimits():
+def test_setTemporaryLimits(uut, mockPlayer):
song = "test.flac"
abLimits = [
[0.2, 0.4],
[0.1, 0.4]
]
overflow = 0.5
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
uut.setAbLimitEnable(True)
mockPlayer.position = overflow
@@ -278,12 +268,10 @@ def test_setTemporaryLimits():
uut.tick()
assert mockPlayer.position == abLimits[1][0]
-def test_jumpToA():
+def test_jumpToA(uut, mockPlayer):
song = "test.flac"
abLimits = (0.2, 0.4)
initialPosition = 0.8
- mockPlayer = MockPlayer()
- uut = SoloTool(mockPlayer)
mockPlayer.position = initialPosition