public void VisitExtensionExpression_ReducedExpressionIsVisited() { ExpressionTreeVisitor visitor = new TestThrowingConstantExpressionTreeVisitor(); var constantExpression = Expression.Constant(0); var expression = new TestExtensionExpression(constantExpression); var result = visitor.VisitExpression(expression); Assert.That(result, Is.Not.SameAs(constantExpression)); Assert.That(((ConstantExpression)result).Value, Is.EqualTo("ConstantExpression was visited")); }
public void VisitExtensionExpression_NonReducibleExpression() { ExpressionTreeVisitor visitor = new TestThrowingConstantExpressionTreeVisitor(); var nonReducibleExpression = MockRepository.GenerateStub <ExtensionExpression> (typeof(int)); nonReducibleExpression .Stub(stub => stub.Accept(Arg <ExpressionTreeVisitor> .Is.Anything)) .WhenCalled(mi => PrivateInvoke.InvokeNonPublicMethod(mi.Arguments[0], "VisitExtensionExpression", nonReducibleExpression)) .Return(nonReducibleExpression); nonReducibleExpression.Stub(stub => stub.CanReduce).Return(false); nonReducibleExpression.Stub(stub => stub.ToString()).Return("Test"); visitor.VisitExpression(nonReducibleExpression); }