@@ -538,6 +538,13 @@ let ``ObjectListFilter works with Equals case insensitive operator`` () =
538538 result.FirstName |> equals " Jonathan"
539539 result.LastName |> equals " Abrams"
540540
541+ [<Fact>]
542+ let ``ObjectListFilter works with Equals case sensitive operator`` () =
543+ let filter = Equals ({ FieldName = " firstName" ; Value = " jonathan" }, null )
544+ let queryable = data.AsQueryable ()
545+ let filteredData = queryable.Apply ( filter) |> Seq.toList
546+ List.length filteredData |> equals 0
547+
541548[<Fact>]
542549let ``ObjectListFilter works with Equals case insensitive operator upper case`` () =
543550 let filter = Equals ({ FieldName = " firstName" ; Value = " JONATHAN" }, StringComparer.OrdinalIgnoreCase)
@@ -548,6 +555,13 @@ let ``ObjectListFilter works with Equals case insensitive operator upper case``
548555 result.ID |> equals 2
549556 result.FirstName |> equals " Jonathan"
550557
558+ [<Fact>]
559+ let ``ObjectListFilter works with Equals case sensitive operator upper case`` () =
560+ let filter = Equals ({ FieldName = " firstName" ; Value = " JONATHAN" }, null )
561+ let queryable = data.AsQueryable ()
562+ let filteredData = queryable.Apply ( filter) |> Seq.toList
563+ List.length filteredData |> equals 0
564+
551565[<Fact>]
552566let ``ObjectListFilter works with StartsWith case insensitive operator`` () =
553567 let filter = StartsWith ({ FieldName = " firstName" ; Value = " j" }, StringComparer.OrdinalIgnoreCase)
@@ -558,6 +572,13 @@ let ``ObjectListFilter works with StartsWith case insensitive operator`` () =
558572 result.ID |> equals 2
559573 result.FirstName |> equals " Jonathan"
560574
575+ [<Fact>]
576+ let ``ObjectListFilter works with StartsWith case sensitive operator`` () =
577+ let filter = StartsWith ({ FieldName = " firstName" ; Value = " j" }, null )
578+ let queryable = data.AsQueryable ()
579+ let filteredData = queryable.Apply ( filter) |> Seq.toList
580+ List.length filteredData |> equals 0
581+
561582[<Fact>]
562583let ``ObjectListFilter works with EndsWith case insensitive operator`` () =
563584 let filter = EndsWith ({ FieldName = " lastName" ; Value = " AMS" }, StringComparer.OrdinalIgnoreCase)
@@ -571,6 +592,13 @@ let ``ObjectListFilter works with EndsWith case insensitive operator`` () =
571592 result.ID |> equals 2
572593 result.LastName |> equals " Abrams"
573594
595+ [<Fact>]
596+ let ``ObjectListFilter works with EndsWith case sensitive operator`` () =
597+ let filter = EndsWith ({ FieldName = " lastName" ; Value = " AMS" }, null )
598+ let queryable = data.AsQueryable ()
599+ let filteredData = queryable.Apply ( filter) |> Seq.toList
600+ List.length filteredData |> equals 0
601+
574602[<Fact>]
575603let ``ObjectListFilter works with Contains case insensitive operator`` () =
576604 let filter = Contains ({ FieldName = " firstName" ; Value = " EN" }, StringComparer.OrdinalIgnoreCase)
@@ -585,9 +613,8 @@ let ``ObjectListFilter works with Contains case insensitive operator`` () =
585613 result.FirstName |> equals " Jeneffer"
586614
587615[<Fact>]
588- let ``ObjectListFilter case - insensitive operators do not match with case - sensitive filters`` () =
589- // Exact case-sensitive StartsWith "j" (lowercase) should match nothing in the data
590- let filter = StartsWith ({ FieldName = " firstName" ; Value = " j" }, null )
616+ let ``ObjectListFilter works with Contains case sensitive operator`` () =
617+ let filter = Contains ({ FieldName = " firstName" ; Value = " EN" }, null )
591618 let queryable = data.AsQueryable ()
592619 let filteredData = queryable.Apply ( filter) |> Seq.toList
593620 List.length filteredData |> equals 0
0 commit comments