AjTalk.Tests.Model.ModelParserTests.ParseFreeBlockWithLocalVariables C# (CSharp) Method

ParseFreeBlockWithLocalVariables() private method

private ParseFreeBlockWithLocalVariables ( ) : void
return void
        public void ParseFreeBlockWithLocalVariables()
        {
            ModelParser parser = new ModelParser("| x y | ^a + b");
            IExpression expression = parser.ParseBlock();

            Assert.IsNotNull(expression);
            Assert.IsInstanceOfType(expression, typeof(FreeBlockExpression));

            FreeBlockExpression bexpression = (FreeBlockExpression)expression;

            Assert.IsNotNull(bexpression.Body);
            Assert.IsInstanceOfType(bexpression.Body.First(), typeof(ReturnExpression));
            Assert.AreEqual(2, bexpression.LocalVariables.Count);
            Assert.AreEqual("x", bexpression.LocalVariables[0]);
            Assert.AreEqual("y", bexpression.LocalVariables[1]);

            Assert.AreEqual("| x y | ^a + b", expression.AsString());
        }