public void ParseBlockWithLocalVariables()
{
ModelParser parser = new ModelParser("[ | 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(0, bexpression.ParameterNames.Count);
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());
}