Example #1
0
        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);
        }
Example #3
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }