public void CountOfListAsCondition() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("if count of shipRoute[] > 0 wait"); Assert.IsTrue(command is ConditionalCommand); ConditionalCommand conditionalCommand = (ConditionalCommand)command; Assert.IsTrue(conditionalCommand.Condition is ComparisonVariable); ComparisonVariable comparison = (ComparisonVariable)conditionalCommand.Condition; Assert.IsTrue(comparison.a is ListAggregateVariable); ListAggregateVariable listAggregate = (ListAggregateVariable)comparison.a; Assert.AreEqual(PropertyAggregate.COUNT, listAggregate.aggregation); Assert.IsTrue(listAggregate.expectedList is ListIndexVariable); ListIndexVariable listIndex = (ListIndexVariable)listAggregate.expectedList; Assert.IsTrue(listIndex.expectedList is InMemoryVariable); InMemoryVariable listVariable = (InMemoryVariable)listIndex.expectedList; Assert.AreEqual("shipRoute", listVariable.variableName); Assert.IsTrue(comparison.b is StaticVariable); StaticVariable comparisonVariable = (StaticVariable)comparison.b; Assert.AreEqual(0f, comparisonVariable.GetValue().GetValue()); }
public void AdditionBeforeVariableComparison() { var command = ParseCommand("assign a to {b} + 1 > 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is ComparisonVariable); ComparisonVariable variable = (ComparisonVariable)assignment.variable; Assert.IsTrue(variable.a is OperandVariable); Assert.IsTrue(variable.b is StaticVariable); }
public void EmbeddedParanthesis() { var command = ParseCommand("if ( ( {a} + {b} ) > {c} ) set the \"pistons\" height to ( {a} + {b} )"); Assert.IsTrue(command is ConditionalCommand); ConditionalCommand conditionalCommand = (ConditionalCommand)command; Variable condition = conditionalCommand.Condition; Assert.IsTrue(condition is ComparisonVariable); ComparisonVariable comparison = (ComparisonVariable)condition; Assert.IsTrue(comparison.a is OperandVariable); }
public void EmbeddedParanthesis() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("if ( ( {a} + {b} ) > {c} ) set the \"pistons\" height to ( {a} + {b} )"); Assert.IsTrue(command is ConditionalCommand); ConditionalCommand conditionalCommand = (ConditionalCommand)command; Variable condition = conditionalCommand.Condition; Assert.IsTrue(condition is ComparisonVariable); ComparisonVariable comparison = (ComparisonVariable)condition; Assert.IsTrue(comparison.a is BiOperandVariable); }
public void AdditionBeforeVariableComparison() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to {b} + 1 > 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is ComparisonVariable); ComparisonVariable variable = (ComparisonVariable)assignment.variable; Assert.IsTrue(variable.a is BiOperandVariable); Assert.IsTrue(variable.b is StaticVariable); }
public void LockVariable() { var command = ParseCommand("bind \"a\" to {b} is 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; Assert.AreEqual("a", assignCommand.variableName); Assert.IsTrue(assignCommand.variable is ComparisonVariable); Assert.IsTrue(assignCommand.useReference); ComparisonVariable comparison = (ComparisonVariable)assignCommand.variable; Assert.IsTrue(comparison.a is InMemoryVariable); }
public void VariableComparisonCondition() { var command = ParseCommand("if 3 > 2 set the \"rotors\" height to 5"); Assert.IsTrue(command is ConditionalCommand); ConditionalCommand conditionalCommand = (ConditionalCommand)command; Assert.IsTrue(conditionalCommand.Condition is ComparisonVariable); ComparisonVariable variable = (ComparisonVariable)conditionalCommand.Condition; Assert.IsTrue(variable.GetValue() is BooleanPrimitive); BooleanPrimitive boolean = (BooleanPrimitive)variable.GetValue(); Assert.IsTrue(boolean.GetBooleanValue()); Assert.IsTrue(variable.a is StaticVariable); Assert.IsTrue(variable.b is StaticVariable); }
public void VariableComparisonCondition() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("if 3 > 2 set the \"rotors\" height to 5"); Assert.IsTrue(command is ConditionalCommand); ConditionalCommand conditionalCommand = (ConditionalCommand)command; Assert.IsTrue(conditionalCommand.Condition is ComparisonVariable); ComparisonVariable variable = (ComparisonVariable)conditionalCommand.Condition; Assert.IsTrue(variable.GetValue() is BooleanPrimitive); BooleanPrimitive boolean = (BooleanPrimitive)variable.GetValue(); Assert.IsTrue(boolean.GetTypedValue()); Assert.IsTrue(variable.a is StaticVariable); Assert.IsTrue(variable.b is StaticVariable); }