public void AssignVariableToMultiDimensionalArray() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign myList to [ [0,1,2] , [3,4,5] ]"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignmentCommand = (VariableAssignmentCommand)command; Assert.AreEqual("myList", assignmentCommand.variableName); List <Variable> values = CastList(assignmentCommand.variable.GetValue()).GetTypedValue().GetValues(); Assert.AreEqual(2, values.Count); List <Variable> myList0 = CastList(values[0].GetValue()).GetTypedValue().GetValues(); Assert.AreEqual(0f, CastNumber(myList0[0].GetValue()).GetTypedValue()); Assert.AreEqual(1f, CastNumber(myList0[1].GetValue()).GetTypedValue()); Assert.AreEqual(2f, CastNumber(myList0[2].GetValue()).GetTypedValue()); List <Variable> myList1 = CastList(values[1].GetValue()).GetTypedValue().GetValues(); Assert.AreEqual(3f, CastNumber(myList1[0].GetValue()).GetTypedValue()); Assert.AreEqual(4f, CastNumber(myList1[1].GetValue()).GetTypedValue()); Assert.AreEqual(5f, CastNumber(myList1[2].GetValue()).GetTypedValue()); }
public void AssignVariableToMySelectorProperty() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("set \"myPosition\" to my position"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; }
public void AssignVariableToSelectorString() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign \"mySelector\" to \"Main Cockpit\""); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignmentCommand = (VariableAssignmentCommand)command; Assert.AreEqual("Main Cockpit", assignmentCommand.variable.GetValue().GetValue()); }
public void AddStringToListInFront() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to \"zero \" + [0, 1, 2]"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.AreEqual("zero [0,1,2]", CastString(assignment.variable.GetValue()).GetTypedValue()); }
public void AssignVariableToMultiDimensionalArrayValue() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign myValue to [ [0,1,2] , [3,4,5] ][1][2]"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignmentCommand = (VariableAssignmentCommand)command; Assert.AreEqual("myValue", assignmentCommand.variableName); Assert.AreEqual(5f, CastNumber(assignmentCommand.variable.GetValue()).GetTypedValue()); }
public void AssignVariable() { var command = ParseCommand("assign \"a\" to 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; Assert.AreEqual("a", assignCommand.variableName); Assert.AreEqual(2, CastNumber(assignCommand.variable.GetValue()).GetNumericValue()); Assert.IsFalse(assignCommand.useReference); }
public void AssignNotColor() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to not \"red\""); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Primitive primitive = assignment.variable.GetValue(); Assert.AreEqual(Return.COLOR, primitive.GetPrimitiveType()); Assert.AreEqual(Color.Cyan, primitive.GetValue()); }
public void AssignSubtractedColors() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to \"#ffff00\" - \"#00ff00\""); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Primitive primitive = assignment.variable.GetValue(); Assert.AreEqual(Return.COLOR, primitive.GetPrimitiveType()); Assert.AreEqual(Color.Red, primitive.GetValue()); }
public void CastStringAsVector() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to (\"1\" + \":2:\" + \"3\") as \"vector\""); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Primitive value = assignment.variable.GetValue(); Assert.AreEqual(Return.VECTOR, value.GetPrimitiveType()); Assert.AreEqual("1:2:3", CastString(value).GetTypedValue()); }
public void AssignVariableFromInMemoryVariableName() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign {a} to 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; Assert.AreEqual("a", assignCommand.variableName); Assert.AreEqual(2, CastNumber(assignCommand.variable.GetValue()).GetTypedValue()); Assert.IsFalse(assignCommand.useReference); }
public void AssignVariableToAmbiguousStringValue() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to b"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; Assert.AreEqual("a", assignCommand.variableName); Assert.AreEqual("b", assignCommand.variable.GetValue().GetValue()); Assert.IsFalse(assignCommand.useReference); }
public void AssignDividedColor() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to \"#224466\" / 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Primitive primitive = assignment.variable.GetValue(); Assert.AreEqual(Return.COLOR, primitive.GetPrimitiveType()); Assert.AreEqual("#112233", CastString(primitive).GetTypedValue()); }
public void CastStringAsBoolean() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to \"true\" as \"bool\""); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Primitive value = assignment.variable.GetValue(); Assert.AreEqual(Return.BOOLEAN, value.GetPrimitiveType()); Assert.AreEqual(true, value.GetValue()); }
public void AdditionBeforeBooleanLogic() { var command = ParseCommand("assign a to {b} + 1 and {c}"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is AndVariable); AndVariable variable = (AndVariable)assignment.variable; Assert.IsTrue(variable.a is OperandVariable); Assert.IsTrue(variable.b is InMemoryVariable); }
public void AssignGlobalVariableWithActionKeyword() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("set global \"a\" to 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; Assert.AreEqual("a", assignCommand.variableName); Assert.AreEqual(2, CastNumber(assignCommand.variable.GetValue()).GetTypedValue()); Assert.IsFalse(assignCommand.useReference); Assert.IsTrue(assignCommand.isGlobal); }
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 AssignAvgOfBlocksWithSelectorFirst() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign \"a\" to \"forward guns\" average range"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; Assert.IsTrue(assignCommand.variable is AggregatePropertyVariable); AggregatePropertyVariable aggregate = (AggregatePropertyVariable)assignCommand.variable; Assert.AreEqual(PropertyAggregate.AVG, aggregate.aggregationType); }
public void AssignVariableToListIndexValue() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign myValue to [1, 2, 3][0]"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignmentCommand = (VariableAssignmentCommand)command; Assert.AreEqual("myValue", assignmentCommand.variableName); Primitive value = assignmentCommand.variable.GetValue(); Assert.AreEqual(1f, CastNumber(value).GetTypedValue()); }
public void AssignSumOfBlocksWithProperty() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign \"a\" to sum of the \"forward guns\" range"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; Assert.IsTrue(assignCommand.variable is AggregatePropertyVariable); AggregatePropertyVariable aggregate = (AggregatePropertyVariable)assignCommand.variable; Assert.AreEqual(PropertyAggregate.SUM, aggregate.aggregationType); }
public void AssignSimpleAddition() { var command = ParseCommand("assign a to 3 + 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is OperandVariable); OperandVariable variable = (OperandVariable)assignment.variable; Assert.AreEqual(OperandType.ADD, variable.operand); Assert.AreEqual(5f, CastNumber(variable.GetValue()).GetValue()); }
public void AssignVariableCaseIsPreserved() { var command = ParseCommand("assign \"a\" to {variableName}"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignCommand = (VariableAssignmentCommand)command; Assert.AreEqual("a", assignCommand.variableName); Assert.IsTrue(assignCommand.variable is InMemoryVariable); InMemoryVariable memoryVariable = (InMemoryVariable)assignCommand.variable; Assert.AreEqual("variableName", memoryVariable.variableName); }
public void AssignACos() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to acos 1.5708"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is UniOperandVariable); UniOperandVariable variable = (UniOperandVariable)assignment.variable; Assert.AreEqual(UniOperand.ACOS, variable.operand); Assert.AreEqual((float)Math.Acos(1.5708f), CastNumber(variable.GetValue()).GetValue()); }
public void AssignVectorMod() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to \"1:1:0\" % \"0:1:0\""); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is BiOperandVariable); BiOperandVariable variable = (BiOperandVariable)assignment.variable; Assert.AreEqual(BiOperand.MOD, variable.operand); Assert.AreEqual(new Vector3D(1, 0, 0), CastVector(variable.GetValue()).GetValue()); }
public void AssignSimpleExponent() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to 2 ^ 4"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is BiOperandVariable); BiOperandVariable variable = (BiOperandVariable)assignment.variable; Assert.AreEqual(BiOperand.EXPONENT, variable.operand); Assert.AreEqual(16, CastNumber(variable.GetValue()).GetTypedValue()); }
public void AssignVectorDotProduct() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to \"0:1:0\" . \"1:0:0\""); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is BiOperandVariable); BiOperandVariable variable = (BiOperandVariable)assignment.variable; Assert.AreEqual(BiOperand.DOT, variable.operand); Assert.AreEqual(0f, CastNumber(variable.GetValue()).GetValue()); }
public void AssignSimpleDivision() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to 6 / 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is BiOperandVariable); BiOperandVariable variable = (BiOperandVariable)assignment.variable; Assert.AreEqual(BiOperand.DIVIDE, variable.operand); Assert.AreEqual(3f, CastNumber(variable.GetValue()).GetValue()); }
public void AssignVectorExponentAsAngleBetween() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to \"0:0:1\" ^ \"1:0:0\""); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is BiOperandVariable); BiOperandVariable variable = (BiOperandVariable)assignment.variable; Assert.AreEqual(BiOperand.EXPONENT, variable.operand); Assert.AreEqual(90, CastNumber(variable.GetValue()).GetTypedValue()); }
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 AssignSimpleSubtractionVariable() { var command = ParseCommand("assign a to {b} - 2"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is OperandVariable); OperandVariable variable = (OperandVariable)assignment.variable; Assert.AreEqual(OperandType.SUBTACT, variable.operand); Assert.IsTrue(variable.a is InMemoryVariable); Assert.IsTrue(variable.b is StaticVariable); }
public void AssignSin() { var program = MDKFactory.CreateProgram <Program>(); var command = program.ParseCommand("assign a to sin 1.5708"); Assert.IsTrue(command is VariableAssignmentCommand); VariableAssignmentCommand assignment = (VariableAssignmentCommand)command; Assert.IsTrue(assignment.variable is UniOperandVariable); UniOperandVariable variable = (UniOperandVariable)assignment.variable; Assert.AreEqual(UniOperand.SIN, variable.operand); Assert.AreEqual(1f, CastNumber(variable.GetValue()).GetValue()); }