diff --git a/light9/effect/sequencer/eval_faders_test.py b/light9/effect/sequencer/eval_faders_test.py --- a/light9/effect/sequencer/eval_faders_test.py +++ b/light9/effect/sequencer/eval_faders_test.py @@ -1,4 +1,5 @@ from unittest import mock +from light9.effect.effect_function_library import EffectFunctionLibrary from light9.effect.sequencer.eval_faders import FaderEval from light9.effect.settings import DeviceSettings @@ -13,43 +14,55 @@ PREFIXES = ''' @prefix xsd: . @prefix dev: . @prefix dmxA: . +@prefix func: . ''' NOTE_GRAPH = PREFIXES + ''' - :brightness - a :DeviceAttr; - rdfs:label "brightness"; - :dataType :scalar . + :brightness + a :DeviceAttr; + rdfs:label "brightness"; + :dataType :scalar . + + :strength + a :EffectAttr; + rdfs:label "strength" . - :strength - a :EffectAttr; - rdfs:label "strength" . + :SimpleDimmer + a :DeviceClass; + rdfs:label "SimpleDimmer"; + :deviceAttr :brightness; + :attr [ :outputAttr :level; :dmxOffset 0 ] . - :SimpleDimmer - a :DeviceClass; - rdfs:label "SimpleDimmer"; - :deviceAttr :brightness; - :attr [ :outputAttr :level; :dmxOffset 0 ] . + :light1 + a :SimpleDimmer; + :dmxUniverse dmxA:; + :dmxBase 178 . + - :light1 - a :SimpleDimmer; - :dmxUniverse dmxA:; - :dmxBase 178 . + func:scale + a :EffectFunction; + :input + [ :effectAttr :strength; :defaultValue 0.0 ], + [ :effectAttr :deviceSettings; ] . + - effect:effect1 - a :Effect; - :setting effect:effect1_set1 . - effect:effect1_set1 - :device :light1; - :deviceAttr :brightness; - :value 0.5 . - :fade1 - a :Fader; - :effect effect:effect1; - :setting :fs1 . - :fs1 - :value 0.6 ; - :effectAttr :strength . + effect:effect1 + a :Effect; + :effectFunction func:scale; + :setting [:effectAttr :deviceSettings; :value [ + :setting [ + :device :light1; :deviceAttr :brightness; :value 0.5 + ] + ] ] . + + + :fade1 + a :Fader; + :effect effect:effect1; + :setting :fs1 . + :fs1 + :value 0.6 ; + :effectAttr :strength . ''' @@ -60,6 +73,7 @@ class TestFaderEval: g = MockSyncedGraph(NOTE_GRAPH) sender = mock.MagicMock() - f = FaderEval(g) + eff = EffectFunctionLibrary(g) + f = FaderEval(g, eff) devSettings = f.computeOutput() assert devSettings == DeviceSettings(g, [(L9['light1'], L9['brightness'], 0.3)]) \ No newline at end of file