public void BinaryExpressionTest(object left, object right, object result) { var leftExpression = new ExpressionMock(() => left); var rightExpr = new ExpressionMock(() => right); var @operator = new OperatorMock(() => result); var expression = new Core.Cells.Expressions.BinaryExpression(leftExpression, @operator, rightExpr); var processor = TestExtensions.CreateProcessor(); Assert.AreEqual(result, expression.Evaluate(processor)); Assert.AreEqual(processor, leftExpression.Processor, "Left expression"); Assert.AreEqual(processor, rightExpr.Processor, "Right expression"); Assert.AreEqual(left, @operator.Left, "Left value"); Assert.AreEqual(right, @operator.Right, "Right value"); }