aboutsummaryrefslogtreecommitdiffstats
path: root/abcontroller_unittest.py
diff options
context:
space:
mode:
Diffstat (limited to 'abcontroller_unittest.py')
-rw-r--r--abcontroller_unittest.py29
1 files changed, 25 insertions, 4 deletions
diff --git a/abcontroller_unittest.py b/abcontroller_unittest.py
index 0e004ff..736ac6b 100644
--- a/abcontroller_unittest.py
+++ b/abcontroller_unittest.py
@@ -28,6 +28,27 @@ def checkLimits(uut, aLimit, bLimit, fail=False):
uut._setPositionCallback = originalCallback
+def checkDefaultLimits(uut):
+ tests = [
+ TCase(0.0, None),
+ TCase(0.1, 0.0),
+ TCase(0.5, 0.0)
+ ]
+
+ requestedPosition = None
+ def callback(newPosition):
+ nonlocal requestedPosition
+ requestedPosition = newPosition
+
+ originalCallback = uut._setPositionCallback
+ uut._setPositionCallback = callback
+
+ for t in tests:
+ uut.positionChanged(t.currentPosition)
+ assert requestedPosition == t.requestedPosition
+
+ uut._setPositionCallback = originalCallback
+
def test_oneSetOfLimits():
song = "/path/to/song"
@@ -107,7 +128,7 @@ def test_storeLimitsWithoutCurrentSong():
uut.storeLimits(abLimits.a, abLimits.b)
uut.loadLimits(0)
- checkLimits(uut, abLimits.a, abLimits.b, fail=True)
+ checkDefaultLimits(uut)
def test_storeLimitsToSongWithoutCurrentSong():
song = "/path/to/song"
@@ -115,11 +136,11 @@ def test_storeLimitsToSongWithoutCurrentSong():
uut.storeLimits(abLimits.a, abLimits.b, song)
uut.loadLimits(0)
- checkLimits(uut, abLimits.a, abLimits.b, fail=True)
+ checkDefaultLimits(uut)
uut.setCurrentSong(song)
- checkLimits(uut, abLimits.a, abLimits.b, fail=True)
+ checkDefaultLimits(uut)
uut.loadLimits(0)
@@ -131,7 +152,7 @@ def test_storeLimitsToCurrentSongButDoNotSetCurrentLimits():
uut.setCurrentSong(song)
uut.storeLimits(abLimits.a, abLimits.b)
- checkLimits(uut, abLimits.a, abLimits.b, fail=True)
+ checkDefaultLimits(uut)
uut.loadLimits(0)