on branch `java_validation` (dev plus this suite), against the interpreted Complete OCL validator.
> **A correction to a constraint is a change to the standard.** The `.ocl` documents in
> `org.etsi.mts.tdl.model/model` are generated from the specification document by `ConstraintExporter`,
> and so are the operation bodies in `tdl.ecore`. A fix that lives only in the repository is reverted
> by the next export. Every correction made here is listed in
> `org.etsi.mts.tdl.model/model/STANDARD-CHANGES.md` for carrying into the document.
## Coverage
| | |
|---|---|
| Constraints in the standard's three OCL documents | 172 (both reduction pairs merged into one constraint each, MemberReference::CollectionIndex removed as redundant) |
| Covered by at least one violating fixture | 137 |
| Not expressible in the textual syntax, or unable to fail by construction | 35 (see `EXCEPTIONS.md`) |
| Open | 0 |
| Fixture files | 285 (violating cases plus conformant variants for branch coverage) |
## Only one of the three OCL documents was registered headlessly
`TDLtxAbstractTest` registers `tdl-constraints.ocl` and nothing else, while the product registers all
three from the model plugin's activator. Every constraint of the structured objectives and extended
configurations documents therefore passed silently in JUnit while the same file was correctly flagged
in the editor. `ConstraintSuiteTest` now registers the other two documents itself. Anyone writing
headless tests against `dev` should know this: without those two registrations, two thirds of the
constraint documents are simply not evaluated, and a green test means nothing was checked.
## Fixed: permitted components, and two constraints the fix exposed