diff --git a/QueryKit.UnitTests/FilterParsingRegressionTests.cs b/QueryKit.UnitTests/FilterParsingRegressionTests.cs index d6c67b3..ffd4f0b 100644 --- a/QueryKit.UnitTests/FilterParsingRegressionTests.cs +++ b/QueryKit.UnitTests/FilterParsingRegressionTests.cs @@ -261,26 +261,6 @@ public void comparison_operator_factory_has_one_test_case_per_operator_type() ComparisonOperatorFactories().Should().HaveCount(24); } - [Theory] - [InlineData(false, new[] { "lamb" })] - [InlineData(true, new[] { "null", "other" })] - public void case_insensitive_in_operator_factory_reads_a_constant_list(bool notIn, string[] expectedFirstNames) - { - var people = new[] - { - new TestingPerson { Title = null, FirstName = "null" }, - new TestingPerson { Title = "Lamb", FirstName = "lamb" }, - new TestingPerson { Title = "other", FirstName = "other" }, - }; - Expression> title = x => x.Title; - var comparisonOperator = notIn ? ComparisonOperator.NotInOperator(true) : ComparisonOperator.InOperator(true); - - var body = comparisonOperator.GetExpression(title.Body, Expression.Constant(new List { "LAMB" }), null); - var filterExpression = Expression.Lambda>(body, title.Parameters); - - people.AsQueryable().Where(filterExpression).Select(x => x.FirstName).Should().Equal(expectedFirstNames); - } - [Fact] public void comparison_operator_factory_with_uses_all_builds_all_expression() { diff --git a/QueryKit/Operators/ComparisonOperator.cs b/QueryKit/Operators/ComparisonOperator.cs index ad8e760..2e01b40 100644 --- a/QueryKit/Operators/ComparisonOperator.cs +++ b/QueryKit/Operators/ComparisonOperator.cs @@ -618,8 +618,7 @@ public override Expression GetExpression(Expression left, Expression right, T var listType = typeof(List); var caseList = Activator.CreateInstance(listType); - // A caller can pass the list as a constant, like v1.14.2. - var originalList = (values ?? ((ConstantExpression)right).Value) as IEnumerable; + var originalList = values as IEnumerable; foreach (var value in originalList!) { listType.GetMethod("Add")!.Invoke(caseList, new[] { caseMode == CaseInsensitiveMode.Upper ? value.ToUpper() : value.ToLower() }); @@ -864,8 +863,7 @@ public override Expression GetExpression(Expression left, Expression right, T var listType = typeof(List); var caseList = Activator.CreateInstance(listType); - // A caller can pass the list as a constant, like v1.14.2. - var originalList = (values ?? ((ConstantExpression)right).Value) as IEnumerable; + var originalList = values as IEnumerable; foreach (var value in originalList!) { listType.GetMethod("Add")!.Invoke(caseList, new[] { caseMode == CaseInsensitiveMode.Upper ? value.ToUpper() : value.ToLower() });