Repository navigation
[Feature]: Expand Textual Notation validation coverage with full Pilot Implementation suite #288
Description
What type of issue is this?
- Bug report
- Feature request
Prerequisites
- I have written a descriptive issue title
- I have verified that I am running the latest version of the SysML2.NET
- I have searched open and closed issues to ensure it has not already been reported
Description
Umbrella tracker for expanding SysML2.NET.Serializer.TextualNotation.Tests.Writers.TextualNotationValidationTestFixture to cover the full set of validation models distributed with the OMG SysML v2 Pilot Implementation.
Today only the three files of 01-Parts Tree (1a, 1c, 1d) are exercised by the fixture (added in #272 / #283). The Pilot Implementation ships with 17 validation folders covering every major SST module — Parts Tree, Parts Interconnection, Function-based Behavior, Functional Allocation, State-based Behavior, Individuals & Snapshots, Variant Configuration, Requirements, Verification, Analysis & Trades, View & Viewpoint, Dependency Relationships, Model Containment, Language Extensions, Properties/Values/Expressions, Sequence Modeling, and Use Case.
Bringing every Pilot validation file under the round-trip test (XMI deserialize → textual-notation build → assert non-empty output, with extension of the existing harness to also diff against a reference rendering where appropriate) is the single best regression net we can build for the textual notation writer. Every grammar bug fixed in the writer should at minimum trip one of these files; conversely, any file that builds clean here is a high-confidence signal that the corresponding SST module is covered end-to-end.
Scope per folder
For each Pilot validation folder:
- Convert each
*.sysmlsource fromhttps://github.com/Systems-Modeling/SysML-v2-Pilot-Implementation/tree/master/sysml/src/validation/<folder>/into the*.sysmlx(XMI) representation consumed by theDeSerializer, and add it underSysML2.NET.Serializer.TextualNotation.Tests/Validation/<folder>/. - Mark each new resource with
CopyToOutputDirectoryin the test project so it lands under theValidation/<folder>/test-context directory. - Add a
[TestCase("<folder>", "<file>.sysmlx")]line per file toVerifyValidationTextualNotationXmiinSysML2.NET.Serializer.TextualNotation.Tests/Writers/TextualNotationValidationTestFixture.cs. - If the writer throws or produces obviously wrong output for any file, log it on the per-folder issue and either fix it directly or open a focused follow-up (do not silence the test).
Sub-issues (one per folder)
Folder 01-Parts Tree is already covered, but is listed here for completeness. Each child issue tracks the work for one folder and references this umbrella issue.
-
01-Parts Tree— already covered (1a, 1c, 1d) -
02-Parts Interconnection— see 289 -
03-Function-based Behavior— see 290 -
04-Functional Allocation— see 291 -
05-State-based Behavior— see 292 -
06-Individual and Snapshots— see 293 -
07-Variant Configuration— see 294 -
08-Requirements— see 295 -
09-Verification— see 296 -
10-Analysis and Trades— see 297 -
11-View and Viewpoint— see 298 -
12-Dependency Relationships— see 299 -
13-Model Containment— see 300 -
14-Language Extensions— see 301 -
15-Properties-Values-Expressions— see 302 -
17-Sequence Modeling— see 303 -
18-Use Case— see 304
(Folder 16 is not present in the Pilot validation tree.)
Acceptance
- All Pilot validation folders are represented in
SysML2.NET.Serializer.TextualNotation.Tests/Validation/. TextualNotationValidationTestFixture.VerifyValidationTextualNotationXmiruns at least one[TestCase]per file and the suite passes green.- Any writer/grammar defects surfaced by a folder are either fixed in the same PR or filed as a focused follow-up issue and linked back to the relevant per-folder issue.
Steps to Reproduce
System Configuration
- SysML2.NET version: 0.22.0 (in progress on
feat/bump-deps) - Environment (Operating system, version and so on): Windows 11
- .NET Framework version: .NET 10 / netstandard2.1
- Additional information: source models live in
https://github.com/Systems-Modeling/SysML-v2-Pilot-Implementation/tree/master/sysml/src/validation
Activity