Remove "Subsystem" from subsystem test suite class and file names#64
Remove "Subsystem" from subsystem test suite class and file names#64Malcolmnixon merged 3 commits intomainfrom
Conversation
Rename test files and classes by removing 'Subsystem' from names: - PublishingSubsystemTests.cs -> PublishingTests.cs - CliSubsystemTests.cs -> CliTests.cs - CaptureSubsystemTests.cs -> CaptureTests.cs - SelfTestSubsystemTests.cs -> SelfTestTests.cs - ConfigurationLoadSubsystemTests.cs -> ConfigurationLoadTests.cs - ConfigurationSubsystemTests.cs -> ConfigurationTests.cs Update class names and method name prefixes accordingly. Update .reviewmark.yaml file path references to match new names. Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot What is the purpose of the Configuration xxxLoadTests.cs - why are the load tests different from the normal tests? This seems to be some convention only present in this folder. Can you make sure the ConfigurationTests.cs (the subsystem tests for the Configuration subsystem) proves the Configuration subsystem meets its requirements by using the units in the Configuration subsystem. Can you make sure the VersionMarkConfigTests.cs (the unit tests for the VersionMarkConfig unit) proves the unit meets its requirements by unit-testing the VersionMarkConfig class. |
…into ConfigurationTests Agent-Logs-Url: https://github.com/demaconsulting/VersionMark/sessions/7af8f192-07fc-417c-87af-a6a4de4ace26 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
I've addressed this in commit ee2e477:
I also fixed a separate issue that was exposed: all six reqstream YAML files still referenced the old |
|
@copilot Subsystem tests are supposed to limit themselves to testing via subsystem functionality. Why is the Run() testing necessary? Is the testing at the system level not sufficient, or is there an over-reach in the requirements/justification? |
…e load.yaml to subsystem-level tests Agent-Logs-Url: https://github.com/demaconsulting/VersionMark/sessions/008c24a9-f309-4ed4-8a38-98268e7fa589 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agreed — the Fixed in commit 709442c:
The |
There was a problem hiding this comment.
Pull request overview
This PR aligns subsystem test suite naming with established conventions by removing the redundant Subsystem suffix from subsystem test file/class names, and updates all downstream references (reqstream + ReviewMark) to the renamed test methods/files.
Changes:
- Renamed subsystem test suite files/classes and updated test method prefixes (e.g.,
CliSubsystem_*→Cli_*). - Removed the
ConfigurationLoadSubsystemTestsCLI-layer test suite and ensured configuration load requirements point atVersionMarkConfig.Loadunit tests instead. - Updated reqstream YAML test references and
.reviewmark.yamlpaths to match the new names.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/DemaConsulting.VersionMark.Tests/Cli/CliTests.cs | Renames CLI subsystem test class and method prefixes to drop Subsystem. |
| test/DemaConsulting.VersionMark.Tests/Capture/CaptureTests.cs | Renames Capture subsystem test class and method prefixes to drop Subsystem. |
| test/DemaConsulting.VersionMark.Tests/Publishing/PublishingTests.cs | Renames Publishing subsystem test class and method prefixes to drop Subsystem. |
| test/DemaConsulting.VersionMark.Tests/SelfTest/SelfTestTests.cs | Renames SelfTest subsystem test class and method prefixes to drop Subsystem. |
| test/DemaConsulting.VersionMark.Tests/Configuration/ConfigurationTests.cs | Renames Configuration subsystem test class and method prefixes to drop Subsystem. |
| test/DemaConsulting.VersionMark.Tests/Configuration/ConfigurationLoadSubsystemTests.cs | Removes CLI-layer “configuration load via Program.Run” subsystem tests (file deleted). |
| docs/reqstream/version-mark/cli/cli.yaml | Updates requirement-to-test links to renamed Cli_* tests. |
| docs/reqstream/version-mark/capture/capture.yaml | Updates requirement-to-test links to renamed Capture_* tests. |
| docs/reqstream/version-mark/publishing/publishing.yaml | Updates requirement-to-test links to renamed Publishing_* tests. |
| docs/reqstream/version-mark/self-test/self-test.yaml | Updates requirement-to-test links to renamed SelfTest_* tests. |
| docs/reqstream/version-mark/configuration/configuration.yaml | Updates requirement-to-test links to renamed Configuration_* tests. |
| docs/reqstream/version-mark/configuration/load.yaml | Repoints load requirements from removed CLI-layer tests to VersionMarkConfig_Load_* unit tests. |
| .reviewmark.yaml | Updates review-set paths to renamed subsystem test files and removes the deleted load-subsystem test file reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Pull Request
Description
Subsystem test files and classes had redundant "Subsystem" in their names (e.g.
CliSubsystemTests). Removed the suffix per naming conventions.Changes
git mv):*SubsystemTests.cs→*Tests.csacross all 6 subsystem test filesCliSubsystemTests.cs→CliTests.csCaptureSubsystemTests.cs→CaptureTests.csConfigurationSubsystemTests.cs→ConfigurationTests.csConfigurationLoadSubsystemTests.csmerged intoConfigurationTests.cs(see below)PublishingSubsystemTests.cs→PublishingTests.csSelfTestSubsystemTests.cs→SelfTestTests.csCliSubsystem_Run_*→Cli_Run_*).reviewmark.yamlfile path references to match new namesConfigurationLoadTests.cs: The originalConfigurationLoadSubsystemTests.cscontent was merged intoConfigurationTests.cs, then the over-reachingConfiguration_Run_*tests (which calledProgram.Run()— the Cli layer — rather than the Configuration subsystem's own API) were removed.ConfigurationTests.csnow contains onlyConfiguration_ReadFromFile_*tests that exercise the Configuration subsystem directly viaVersionMarkConfig.cli/cli.yaml,capture/capture.yaml,configuration/configuration.yaml,configuration/load.yaml,publishing/publishing.yaml,self-test/self-test.yaml) were updated to reference the current test method names (the stale*Subsystem_*names had not been updated during the initial rename). Theload.yamltool-level requirements were also corrected to reference the properVersionMarkConfig_Load_*unit tests inVersionMarkConfigLoadTests.csinstead of the now-removedConfiguration_Run_*tests.Type of Change
Related Issues
Pre-Submission Checklist
Before submitting this pull request, ensure you have completed the following:
Build and Test
dotnet build --configuration Releasedotnet test --configuration Releasedotnet run --project src/DemaConsulting.VersionMark --configuration Release --framework net10.0--no-build -- --validateCode Quality
dotnet format --verify-no-changesQuality Checks
Please run the following checks before submitting:
cspell "**/*.{md,cs}"markdownlint "**/*.md"yamllint .Testing
Documentation
Additional Notes
Pure rename with organizational cleanup — no logic changes. 186/186 tests pass across net8.0, net9.0, and net10.0.
The 9 removed
Configuration_Run_*tests were redundant: the--lintCLI pipeline is already covered at the system level byCli_Run_LintFlag_ValidConfig_SucceedsinCliTests.cs, and every individual load-validation behavior is already proven at the subsystem API level by theVersionMarkConfig_Load_*tests inVersionMarkConfigLoadTests.cs.