Changeset - 4c9c2ab23831
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 20 months ago 2023-05-31 06:58:07
drewp@bigasterisk.com
fix fader test
1 file changed with 45 insertions and 31 deletions:
0 comments (0 inline, 0 general)
light9/effect/sequencer/eval_faders_test.py
Show inline comments
 
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
 
from light9.mock_syncedgraph import MockSyncedGraph
 
from light9.namespaces import L9
 

	
 
@@ -10,56 +11,69 @@ PREFIXES = '''
 
@prefix effect: <http://light9.bigasterisk.com/effect/> .
 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 
@prefix show: <http://light9.bigasterisk.com/show/dance2023/> .
 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
 
@prefix dev: <http://light9.bigasterisk.com/theater/test/device/> .
 
@prefix dmxA: <http://light9.bigasterisk.com/output/dmxA/> .
 
@prefix func: <http://light9.bigasterisk.com/effectFunction/> .
 
'''
 

	
 
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 .
 

	
 
        '''
 

	
 

	
 
class TestFaderEval:
 

	
 
    def test_faderValueScalesEffectSettings(self):
 
        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
0 comments (0 inline, 0 general)