AjErl.Tests.Expressions.MultiFunExpressionTests.EvaluateWithThreeExpressions C# (CSharp) Method

EvaluateWithThreeExpressions() private method

private EvaluateWithThreeExpressions ( ) : void
return void
        public void EvaluateWithThreeExpressions()
        {
            Context context = new Context();
            FunExpression expr1 = this.MakeExpression("fun(0) -> 1 end.");
            FunExpression expr2 = this.MakeExpression("fun(1) -> 1 end.");
            FunExpression expr3 = this.MakeExpression("fun(X) -> f(X-1) + f(X-2) end.");
            MultiFunExpression mexpr = new MultiFunExpression(new FunExpression[] { expr1, expr2, expr3 });

            var result = mexpr.Evaluate(context);

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

            var mfunc = (MultiFunction)result;

            Assert.IsNotNull(mfunc.Functions);
            Assert.AreEqual(3, mfunc.Functions.Count);
        }