Example #1
0
        public void Should_not_change_expression_if_expression_not_exists()
        {
            Expression <Func <int, bool> > expression = s => s == 1;
            var visitor = new ExpressionReplacingVisitor(Expression.Constant(1), Expression.Constant(2));

            var visitedExpression = visitor.Visit(expression);

            visitedExpression.Should().Be(expression);
        }
Example #2
0
        public void Should_replace_found_expression()
        {
            Expression <Func <int, bool> > expression = s => s == 1;
            var oldExpression = expression.As <LambdaExpression>().Body.As <BinaryExpression>().Right;
            var newExpression = Expression.Constant(2);
            var visitor       = new ExpressionReplacingVisitor(oldExpression, newExpression);

            var visitedExpression = visitor.Visit(expression);

            visitedExpression.As <LambdaExpression>().Body.As <BinaryExpression>().Right.Should().Be(newExpression);
        }