public void Visit(ControlUnit node) { node.Expression.Accept(this); YesnoWrapper conditionstate = (YesnoWrapper)ReferenceTables.GetValue(node.Expression); if (node.ConditionTrueBlock != null && conditionstate.Value.HasValue && conditionstate.Value.Value) { node.ConditionTrueBlock.Accept(this); } if (node.ConditionFalseBlock != null && conditionstate.Value.HasValue && !conditionstate.Value.Value) { node.ConditionFalseBlock.Accept(this); } }
public void Visit(ControlUnit node) { YesnoWrapper evaluatedResult = (YesnoWrapper)ReferenceTables.GetValueOrNull(node.Expression); _parentExpressionDidNotEvaluate = !evaluatedResult.ToBool(); if (node.ConditionTrueBlock != null) { node.ConditionTrueBlock.Accept(this); } _parentExpressionDidNotEvaluate = false; if (node.ConditionFalseBlock != null) { node.ConditionFalseBlock.Accept(this); } }
public void EvaluatedValueComparisson() { YesnoWrapper yes = new YesnoWrapper(true); YesnoWrapper no = new YesnoWrapper(false); NumberWrapper a = new NumberWrapper(12345); NumberWrapper b = new NumberWrapper(12345); Assert.IsTrue((a == b).ToBool()); Number n = new Number(); n.Value = 12345; NumberWrapper c = new NumberWrapper(n); Assert.IsTrue((c == a).ToBool()); Assert.IsFalse((c != a).ToBool()); b.Value = 23456; Assert.IsFalse((c == b).ToBool()); Assert.IsTrue((c != b).ToBool()); }
public WidgetBase GetWidget(QuestionUnit unit, YesnoWrapper typeWrapper) { unit.InitialiseValue(typeWrapper); return(new YesNoWidget(unit)); }