AjErl.Tests.Expressions.TupleExpressionTests.CreateSimpleTuple C# (CSharp) Method

CreateSimpleTuple() private method

private CreateSimpleTuple ( ) : void
return void
        public void CreateSimpleTuple()
        {
            Context context = new Context();
            context.SetValue("X", 2);
            var expr = new TupleExpression(new IExpression[] { new ConstantExpression(1), new VariableExpression(new Variable("X")), new AtomExpression(new Atom("y")) });

            Assert.IsTrue(expr.HasVariable());

            var result = expr.Evaluate(context);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(Tuple));

            var tuple = (Tuple)result;

            Assert.AreEqual(3, tuple.Arity);
            Assert.AreEqual(1, tuple.ElementAt(0));
            Assert.AreEqual(2, tuple.ElementAt(1));
            Assert.IsInstanceOfType(tuple.ElementAt(2), typeof(Atom));
            Assert.AreEqual("y", ((Atom)tuple.ElementAt(2)).Name);
        }