public void Match(Type expressionBuilderType, CompareCondition condition) { // Array // Act var _expressionBuilder = _strategy.GetExpressionBuilder(condition); // Assert Assert.IsInstanceOf(expressionBuilderType, _expressionBuilder); }
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)); }