AjTalk.Tests.Model.ModelParserTests.ParseBlockWithParametersAndLocalVariables C# (CSharp) Метод

ParseBlockWithParametersAndLocalVariables() приватный Метод

private ParseBlockWithParametersAndLocalVariables ( ) : void
Результат void
        public void ParseBlockWithParametersAndLocalVariables()
        {
            ModelParser parser = new ModelParser("[ :a :b | | x y | ^a + b]");
            IExpression expression = parser.ParseExpression();

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

            BlockExpression bexpression = (BlockExpression)expression;

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

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