Exemple #1
0
        public void PassiveInletDontCauseExecution()
        {
            NumberPatch number = new NumberPatch(99);
            InletModes  patch  = new InletModes();

            Engine engine = new Engine();

            engine.Add(patch);
            engine.Add(number);
            engine.Connect(number, "value", patch, "passive");

            Assert.IsFalse(patch.executed, "#1");
            engine.StepFrame();
            Assert.IsFalse(patch.executed, "#2");
        }
Exemple #2
0
        public void ActiveOnChangeInletCauseExecutionOnlyIfValueChanges()
        {
            NumberPatch number = new NumberPatch(99);
            InletModes  patch  = new InletModes();

            Engine engine = new Engine();

            engine.Add(patch);
            engine.Add(number);
            engine.Connect(number, "value", patch, "onchange");

            Assert.IsFalse(patch.executed, "#1");
            engine.StepFrame();
            Assert.IsTrue(patch.executed, "#2");
            patch.executed = false;

            engine.StepFrame();
            Assert.IsFalse(patch.executed, "#3");

            number.value = 11;
            engine.StepFrame();
            Assert.IsTrue(patch.executed, "#4");
        }