schematic test cases: exceptions for constraints
reorganize the order of test cases to keep similar checks together
schematic test cases: explicit tests for all getters

because nontrivially unreachable cases can't be excluded from coverage,
this is about as comprehensive as the tests can get for Schematic