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());
}