public void TestEvaluateArrayWithArithLiterals() { IKernel kernel = TestModule.GetTestKernel (); var factory = kernel.Get<IExecutorFactory>(); ArrayExpr array = new ArrayExpr(factory.GetArrayExecutor()); array.Elements.Add(new ArithExpr { Left = new NumberLiteral { Value = 3 }, Right = new NumberLiteral { Value = 4 }, Op = ArithOp.Add }); Dynamic dynamic = array.Evaluate(); Assert.AreEqual(dynamic.ArrayValue[0].NumberValue, 7, "First element should be 3+4"); }
public void TestEvaluateArrayWithStringLiterals() { IKernel kernel = TestModule.GetTestKernel (); var factory = kernel.Get<IExecutorFactory>(); ArrayExpr array = new ArrayExpr(factory.GetArrayExecutor()); array.Elements.Add(new StringLiteral { Value = "yay" }); array.Elements.Add(new StringLiteral { Value = "boo" }); Dynamic dynamic = array.Evaluate(); Assert.AreEqual(DynamicType.arrayType, dynamic.Type, "Type should be array"); Assert.AreEqual(dynamic.ArrayValue[0].StringValue, "yay", "First element should be 'yay'"); Assert.AreEqual(dynamic.ArrayValue[1].StringValue, "boo", "Second element should be 'boo'"); }