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"); }
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"); }