public void Match(Type expressionBuilderType, CompareCondition condition)
        {
            // Array

            // Act
            var _expressionBuilder = _strategy.GetExpressionBuilder(condition);

            // Assert
            Assert.IsInstanceOf(expressionBuilderType, _expressionBuilder);
        }
Пример #2
0
        private Expression CreateExpressionFromCondition(ParameterExpression parameterExpression,
                                                         SelectCondition selectCondition)
        {
            var        _expressionBuilder = _compareConditionStrategy.GetExpressionBuilder(selectCondition.Condition);
            Expression _member            = string.IsNullOrEmpty(selectCondition.PropertyName)
                ? (Expression)parameterExpression
                : Expression.Property(parameterExpression, selectCondition.PropertyName);

            var _constant = Expression.Constant(Convert.ChangeType(selectCondition.Value, _member.Type));

            ConvertProperty(selectCondition, ref _member);

            return(_expressionBuilder.Build(_member, _constant));
        }