Reorganize translation tests by declaring type, with a dedicated model #34872
Description
When we want to add tests for method/member translations, we sometimes do that in Northwind, and sometimes in GearsOfWar. Northwind is generally bad because it has very few types, and has restricted data for those types (we can't add data to Northwind - it's frozen). GearsOfWar has the disadvantage of having lots of different versions (for different inheritance types, etc.), so if you add a small translation test, you suddenly have to add lots of versions of that tests - with duplicated SQL baselines - though that doesn't add any meaningful coverage. GearsOfWar also generally evolved to be a bit of a fallback/mess, where we frequently shove stuff into it without too much systematic design etc.; it's also not implemented by Cosmos because there's too much incompatible stuff in there.
We should consider having a test suite geared specifically for method/member translations. The model would be simple, no relationalships, and aim to cover all the basic database types and relevant data for all the types as well. We'd take care that tests there don't break as data as added, so that we can easily add data to support new tests without having to unbreak old ones. This would start us moving away from Northwind/GearsOfWar, in a more structured/clean direction etc.
If the number of tests is too big, we can consider having a common model with multiple test suites (like the Northwind tests).
Work:
- Refactor method/member translation tests into their own suite #35319
- More translation test cleanup (Random, DateTime.Parse/new, bitwise operators) #35341
- [SMALL] Split TemporalTranslations into per-type suites #35371
- More translation test work (basic operators, string case sensitivity...) #35373
PostgreSQL work:
Activity