public void ParseAddMessage()
{
ModelParser parser = new ModelParser("10 + 20");
IExpression expression = parser.ParseExpression();
Assert.IsNotNull(expression);
Assert.IsInstanceOfType(expression, typeof(MessageExpression));
MessageExpression mexpression = (MessageExpression)expression;
Assert.IsInstanceOfType(mexpression.Target, typeof(ConstantExpression));
ConstantExpression cleftexpression = (ConstantExpression)mexpression.Target;
Assert.AreEqual(10, cleftexpression.Value);
Assert.AreEqual("+", mexpression.Selector);
Assert.AreEqual(1, mexpression.Arguments.Count());
Assert.IsInstanceOfType(mexpression.Arguments.First(), typeof(ConstantExpression));
ConstantExpression crightexpression = (ConstantExpression)mexpression.Arguments.First();
Assert.AreEqual(20, crightexpression.Value);
Assert.AreEqual("10 + 20", expression.AsString());
}