diff options
| author | Eddy Pedroni <eddy@0xf7.com> | 2021-12-27 09:15:17 +0100 | 
|---|---|---|
| committer | Eddy Pedroni <eddy@0xf7.com> | 2021-12-27 09:19:33 +0100 | 
| commit | f52e40f899567d5d67a4cb2dcd75872ee038aaf8 (patch) | |
| tree | b2fe7847b9932837f9753771a7fe268dce2471c5 | |
| parent | c90623ebcd16070aafc5f8ad4cf76b5aa2b1e49f (diff) | |
Minor refactoring to AB controller unit tests
| -rw-r--r-- | abcontroller_unittest.py | 36 | ||||
| -rw-r--r-- | known-issues | 2 | 
2 files changed, 14 insertions, 24 deletions
diff --git a/abcontroller_unittest.py b/abcontroller_unittest.py index 6e6e779..fbe7ae1 100644 --- a/abcontroller_unittest.py +++ b/abcontroller_unittest.py @@ -5,15 +5,7 @@ TCase = namedtuple("TCase", ["currentPosition", "requestedPosition"])  AB = namedtuple("AB", ["a", "b"])  abLimits = AB(0.2, 0.4) -def checkLimits(uut, aLimit, bLimit, fail=False): -    tests = [ -        TCase(aLimit - 0.1, None), -        TCase(aLimit, None), -        TCase(bLimit - 0.1, None), -        TCase(bLimit, None), -        TCase(bLimit + 0.1, aLimit if not fail else None) -    ] - +def _checkLimits(uut, tests):      requestedPosition = None      def callback(newPosition):          nonlocal requestedPosition @@ -28,26 +20,23 @@ def checkLimits(uut, aLimit, bLimit, fail=False):      uut._setPositionCallback = originalCallback +def checkLimits(uut, aLimit, bLimit, fail=False): +    tests = [ +        TCase(aLimit - 0.1, None), +        TCase(aLimit, None), +        TCase(bLimit - 0.1, None), +        TCase(bLimit, None), +        TCase(bLimit + 0.1, aLimit if not fail else None) +    ] +    _checkLimits(uut, tests) +  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 +    _checkLimits(uut, tests)  def test_oneSetOfLimits():      song = "/path/to/song" @@ -210,7 +199,6 @@ def test_setTemporaryLimitsWithCurrentSong():          uut.setLimits(l.a, l.b)          checkLimits(uut, l.a, l.b) -  def test_defaultBehaviour():      uut = ABController()      checkDefaultLimits(uut) diff --git a/known-issues b/known-issues index 305a1a7..11edbdb 100644 --- a/known-issues +++ b/known-issues @@ -1,5 +1,7 @@  * (done) Moving AB sliders does not set AB limit. Instead need to save AB limit and then select it to apply  * (done) Loading session is additive, should clear the state first  * AB limits are displayed as p.u., should be timestamps +    * Named limits would also be acceptable e.g. first solo, second solo, etc  * (done) Songs are displayed as full path, should be file name or ideally title from metadata  * (done) When switching between songs, AB limit selection is not reset, this means that if the song has only one limit, it is not possible to load it anymore +* No GUI to control playback speed  | 
