As part of CSHARP-4331 when LINQ3 becomes the default LINQ provider a number of tests fail because they were assuming LINQ2 was the default. Typically this is because they are asserting against the translation (e.g. filter or pipeline) as returned by LINQ2 when the LINQ3 translation is slightly different, though also correct.
Note that all the tests in the Linq2ImplementationTests folder should ONLY run against LINQ2 because these tests are by their very nature LINQ2 specific. Every test in the Linq2ImplementationTest folder has a matching test in the Linq3ImplementationTests folder that tests the same test case against LINQ3.
But there are a modest number of tests outside the LINQ test folders that were also LINQ2 specific. In CSHARP-4331 we made these tests pass by explicitly specifying LINQ2 as the LINQ provider (which makes the test pass because it is now explicitly running against LINQ2 instead of simply by default). These are the tests that should be analyzed to see if the should be refactored to run against both LINQ providers or perhaps run only against LINQ3 (suitably refactored so they pass again).
- depends on
-
CSHARP-4368 Support Convert to BsonValue in LINQ3
- Closed
-
CSHARP-4369 Incorrect translation of Group/Where/Select in LINQ3
- Closed
-
CSHARP-4401 Test full support for enums in filters
- Closed
-
CSHARP-4427 LINQ3 is not throwing on all variations of negative indexes
- Closed
-
CSHARP-4428 LINQ3 not handling down cast in UpdateDefinitionBuilder Set method
- Closed
-
CSHARP-4410 Test full support for enums in aggregation expressions
- Closed
- related to
-
CSHARP-4331 Make LINQ3 the default LinqProvider
- Closed