diff --git a/.cspell.yaml b/.cspell.yaml index bad90ab..25ab3ad 100644 --- a/.cspell.yaml +++ b/.cspell.yaml @@ -67,6 +67,8 @@ words: - Sarif - SarifMark - SBOM + - selftest + - SelfTest - Semgrep - semver - slnx diff --git a/.reviewmark.yaml b/.reviewmark.yaml index f55c1a7..49b8d36 100644 --- a/.reviewmark.yaml +++ b/.reviewmark.yaml @@ -33,58 +33,20 @@ reviews: title: VersionMark Design Document Review paths: - "docs/reqstream/versionmark-system.yaml" - - "docs/design/introduction.md" - - "docs/design/system.md" - - "docs/design/subsystem-command-line.md" - - "docs/design/unit-program.md" - - "docs/design/unit-context.md" - - "docs/design/subsystem-configuration.md" - - "docs/design/unit-tool-config.md" - - "docs/design/unit-version-mark-config.md" - - "docs/design/subsystem-capture.md" - - "docs/design/unit-version-info.md" - - "docs/design/subsystem-publish.md" - - "docs/design/unit-markdown-formatter.md" - - "docs/design/subsystem-lint.md" - - "docs/design/unit-lint.md" - - "docs/design/subsystem-validation.md" - - "docs/design/unit-validation.md" - - "docs/design/unit-path-helpers.md" + - "docs/design/**/*.md" - id: VersionMark-AllRequirements title: VersionMark All Requirements Review paths: - "requirements.yaml" - - "docs/reqstream/versionmark-system.yaml" - - "docs/reqstream/platform-requirements.yaml" - - "docs/reqstream/subsystem-command-line.yaml" - - "docs/reqstream/unit-program.yaml" - - "docs/reqstream/unit-context.yaml" - - "docs/reqstream/subsystem-configuration.yaml" - - "docs/reqstream/unit-version-mark-config.yaml" - - "docs/reqstream/unit-tool-config.yaml" - - "docs/reqstream/subsystem-capture.yaml" - - "docs/reqstream/unit-version-info.yaml" - - "docs/reqstream/subsystem-publish.yaml" - - "docs/reqstream/unit-formatter.yaml" - - "docs/reqstream/subsystem-lint.yaml" - - "docs/reqstream/unit-lint.yaml" - - "docs/reqstream/subsystem-validation.yaml" - - "docs/reqstream/unit-validation.yaml" - - "docs/reqstream/unit-path-helpers.yaml" - - "docs/reqstream/ots-mstest.yaml" - - "docs/reqstream/ots-reqstream.yaml" - - "docs/reqstream/ots-buildmark.yaml" - - "docs/reqstream/ots-sarifmark.yaml" - - "docs/reqstream/ots-sonarmark.yaml" - - "docs/reqstream/ots-reviewmark.yaml" - - # Command-Line Interface Subsystem - - id: VersionMark-CommandLine-Subsystem - title: Review of Command-Line Interface Subsystem - paths: - - "docs/reqstream/subsystem-command-line.yaml" - - "docs/design/subsystem-command-line.md" + - "docs/reqstream/**/*.yaml" + + # Cli Subsystem + - id: VersionMark-Cli-Subsystem + title: Review of Cli Subsystem + paths: + - "docs/reqstream/subsystem-cli.yaml" + - "docs/design/subsystem-cli.md" - "test/**/ProgramTests.cs" - "test/**/ContextTests.cs" - "test/**/IntegrationTests.cs" @@ -146,12 +108,12 @@ reviews: - "src/**/VersionInfo.cs" - "test/**/VersionInfoTests.cs" - # Publish Subsystem - - id: VersionMark-Publish-Subsystem - title: Review of Publish Subsystem + # Publishing Subsystem + - id: VersionMark-Publishing-Subsystem + title: Review of Publishing Subsystem paths: - - "docs/reqstream/subsystem-publish.yaml" - - "docs/design/subsystem-publish.md" + - "docs/reqstream/subsystem-publishing.yaml" + - "docs/design/subsystem-publishing.md" - "test/**/MarkdownFormatterTests.cs" - id: VersionMark-MarkdownFormatter-Review @@ -162,12 +124,12 @@ reviews: - "src/**/MarkdownFormatter.cs" - "test/**/MarkdownFormatterTests.cs" - # Lint Subsystem - - id: VersionMark-Lint-Subsystem - title: Review of Lint Subsystem + # Linting Subsystem + - id: VersionMark-Linting-Subsystem + title: Review of Linting Subsystem paths: - - "docs/reqstream/subsystem-lint.yaml" - - "docs/design/subsystem-lint.md" + - "docs/reqstream/subsystem-linting.yaml" + - "docs/design/subsystem-linting.md" - "test/**/LintTests.cs" - id: VersionMark-Lint-Review @@ -178,12 +140,12 @@ reviews: - "src/**/Lint.cs" - "test/**/LintTests.cs" - # Validation Subsystem - - id: VersionMark-Validation-Subsystem - title: Review of Validation Subsystem + # SelfTest Subsystem + - id: VersionMark-SelfTest-Subsystem + title: Review of SelfTest Subsystem paths: - - "docs/reqstream/subsystem-validation.yaml" - - "docs/design/subsystem-validation.md" + - "docs/reqstream/subsystem-selftest.yaml" + - "docs/design/subsystem-selftest.md" - id: VersionMark-Validation-Review title: Review of Validation Unit diff --git a/docs/design/definition.yaml b/docs/design/definition.yaml index 3986111..f44192b 100644 --- a/docs/design/definition.yaml +++ b/docs/design/definition.yaml @@ -6,7 +6,7 @@ input-files: - docs/design/title.txt - docs/design/introduction.md - docs/design/system.md - - docs/design/subsystem-command-line.md + - docs/design/subsystem-cli.md - docs/design/unit-program.md - docs/design/unit-context.md - docs/design/subsystem-configuration.md @@ -14,11 +14,11 @@ input-files: - docs/design/unit-version-mark-config.md - docs/design/subsystem-capture.md - docs/design/unit-version-info.md - - docs/design/subsystem-publish.md + - docs/design/subsystem-publishing.md - docs/design/unit-markdown-formatter.md - - docs/design/subsystem-lint.md + - docs/design/subsystem-linting.md - docs/design/unit-lint.md - - docs/design/subsystem-validation.md + - docs/design/subsystem-selftest.md - docs/design/unit-validation.md - docs/design/unit-path-helpers.md template: template.html diff --git a/docs/design/introduction.md b/docs/design/introduction.md index 2611065..ba35545 100644 --- a/docs/design/introduction.md +++ b/docs/design/introduction.md @@ -17,17 +17,17 @@ The purpose of this document is to: This document covers the design of six subsystems within VersionMark: -- The **Command-Line Interface Subsystem**: the `Program` entry point and `Context` class +- The **Cli Subsystem**: the `Program` entry point and `Context` class that handle argument parsing, output routing, and program flow control - The **Configuration Subsystem**: the `VersionMarkConfig` and `ToolConfig` classes that read and interpret `.versionmark.yaml` configuration files - The **Capture Subsystem**: the `VersionInfo` record that serializes and deserializes captured version data to and from JSON -- The **Publish Subsystem**: the `MarkdownFormatter` class that generates the markdown +- The **Publishing Subsystem**: the `MarkdownFormatter` class that generates the markdown version report from captured data -- The **Lint Subsystem**: the `Lint` class that validates `.versionmark.yaml` configuration +- The **Linting Subsystem**: the `Lint` class that validates `.versionmark.yaml` configuration files and reports issues with precise source locations -- The **Validation Subsystem**: the `Validation` class and `PathHelpers` utility that +- The **SelfTest Subsystem**: the `Validation` class and `PathHelpers` utility that together provide built-in verification of the tool's core functionality This document does not cover installation, end-user usage patterns, or the CI/CD pipeline @@ -41,7 +41,7 @@ software units, with a short description of each node's role. ```text VersionMark (Software System) Version capture/publish tool -├── Command-Line Interface Subsystem Argument parsing and dispatch +├── Cli Subsystem Argument parsing and dispatch │ ├── Program (Software Unit) Tool entry point │ └── Context (Software Unit) Command-line state container ├── Configuration Subsystem YAML configuration loading @@ -49,15 +49,39 @@ VersionMark (Software System) Version capture/publish tool │ └── ToolConfig (Software Unit) Per-tool config record ├── Capture Subsystem Tool version capture │ └── VersionInfo (Software Unit) JSON version data record -├── Publish Subsystem Markdown report publishing +├── Publishing Subsystem Markdown report publishing │ └── MarkdownFormatter (Software Unit) Version report formatter -├── Lint Subsystem Configuration file lint +├── Linting Subsystem Configuration file lint │ └── Lint (Software Unit) YAML configuration validator -└── Validation Subsystem Built-in self-validation +└── SelfTest Subsystem Built-in self-validation ├── Validation (Software Unit) Self-validation runner └── PathHelpers (Software Unit) Safe path combination ``` +## Folder Layout + +The source files are arranged in subsystem-aligned subdirectories beneath the main project +folder. Each directory corresponds to one subsystem described above, making it +straightforward to locate the implementation for any given component. + +```text +src/DemaConsulting.VersionMark/ +├── Program.cs — entry point and execution orchestrator +├── Cli/ +│ └── Context.cs — command-line argument parser and I/O owner +├── Configuration/ +│ └── VersionMarkConfig.cs — YAML configuration and tool definitions +├── Capture/ +│ └── VersionInfo.cs — captured version data record +├── Publishing/ +│ └── MarkdownFormatter.cs — markdown report generation +├── Linting/ +│ └── Lint.cs — YAML configuration linter +└── SelfTest/ + ├── Validation.cs — self-validation test runner + └── PathHelpers.cs — safe path utilities +``` + ## Audience This document is intended for: diff --git a/docs/design/subsystem-command-line.md b/docs/design/subsystem-cli.md similarity index 89% rename from docs/design/subsystem-command-line.md rename to docs/design/subsystem-cli.md index 48336e9..f518840 100644 --- a/docs/design/subsystem-command-line.md +++ b/docs/design/subsystem-cli.md @@ -1,4 +1,4 @@ -# Command-Line Interface Subsystem +# Cli Subsystem ## Overview diff --git a/docs/design/subsystem-lint.md b/docs/design/subsystem-linting.md similarity index 94% rename from docs/design/subsystem-lint.md rename to docs/design/subsystem-linting.md index 037dc49..ae86da9 100644 --- a/docs/design/subsystem-lint.md +++ b/docs/design/subsystem-linting.md @@ -1,4 +1,4 @@ -# Lint Subsystem +# Linting Subsystem ## Overview diff --git a/docs/design/subsystem-publish.md b/docs/design/subsystem-publishing.md similarity index 94% rename from docs/design/subsystem-publish.md rename to docs/design/subsystem-publishing.md index dc7eb3e..c25f655 100644 --- a/docs/design/subsystem-publish.md +++ b/docs/design/subsystem-publishing.md @@ -1,4 +1,4 @@ -# Publish Subsystem +# Publishing Subsystem ## Overview diff --git a/docs/design/subsystem-validation.md b/docs/design/subsystem-selftest.md similarity index 96% rename from docs/design/subsystem-validation.md rename to docs/design/subsystem-selftest.md index bbaa023..534bf03 100644 --- a/docs/design/subsystem-validation.md +++ b/docs/design/subsystem-selftest.md @@ -1,4 +1,4 @@ -# Validation Subsystem +# SelfTest Subsystem ## Overview diff --git a/docs/design/system.md b/docs/design/system.md index 17de85e..33481ac 100644 --- a/docs/design/system.md +++ b/docs/design/system.md @@ -46,12 +46,12 @@ The subsystems interact as follows during the four operational modes: ### Capture Mode ```text -CLI Subsystem → Configuration Subsystem → (shell) +Cli Subsystem → Configuration Subsystem → (shell) ↓ Capture Subsystem (VersionInfo.SaveToFile) ``` -1. The CLI Subsystem (Program) parses arguments and calls `RunCapture`. +1. The Cli Subsystem (Program) parses arguments and calls `RunCapture`. 2. `RunCapture` uses the Configuration Subsystem to load `.versionmark.yaml` and call `FindVersions`, which executes shell commands and extracts version strings. 3. The result is saved to disk by `VersionInfo.SaveToFile` (Capture Subsystem). @@ -59,36 +59,36 @@ CLI Subsystem → Configuration Subsystem → (shell) ### Publish Mode ```text -CLI Subsystem → Capture Subsystem (VersionInfo.LoadFromFile) → Publish Subsystem +Cli Subsystem → Capture Subsystem (VersionInfo.LoadFromFile) → Publishing Subsystem ↓ markdown report file ``` -1. The CLI Subsystem (Program) parses arguments and calls `RunPublish`. +1. The Cli Subsystem (Program) parses arguments and calls `RunPublish`. 2. `RunPublish` resolves glob patterns, then uses the Capture Subsystem to load each JSON file via `VersionInfo.LoadFromFile`. -3. The Publish Subsystem (`MarkdownFormatter.Format`) converts the loaded records into +3. The Publishing Subsystem (`MarkdownFormatter.Format`) converts the loaded records into a markdown string, which is written to the report file. ### Lint Mode ```text -CLI Subsystem → Lint Subsystem +Cli Subsystem → Linting Subsystem ``` -1. The CLI Subsystem (Program) calls `RunLint`, which resolves the config file path. -2. The Lint Subsystem validates the YAML structure and reports all issues. +1. The Cli Subsystem (Program) calls `RunLint`, which resolves the config file path. +2. The Linting Subsystem validates the YAML structure and reports all issues. ### Validate Mode ```text -CLI Subsystem → Validation Subsystem +Cli Subsystem → SelfTest Subsystem ↓ (exercises Capture, Publish, and Lint modes internally) ``` -1. The CLI Subsystem (Program) calls `Validation.Run`. -2. The Validation Subsystem exercises capture, publish, and lint modes end-to-end, +1. The Cli Subsystem (Program) calls `Validation.Run`. +2. The SelfTest Subsystem exercises capture, publish, and lint modes end-to-end, using `PathHelpers` to safely construct paths inside a temporary directory. The self-validation suite includes the following named tests, which serve as evidence diff --git a/docs/reqstream/subsystem-command-line.yaml b/docs/reqstream/subsystem-cli.yaml similarity index 100% rename from docs/reqstream/subsystem-command-line.yaml rename to docs/reqstream/subsystem-cli.yaml diff --git a/docs/reqstream/subsystem-lint.yaml b/docs/reqstream/subsystem-linting.yaml similarity index 100% rename from docs/reqstream/subsystem-lint.yaml rename to docs/reqstream/subsystem-linting.yaml diff --git a/docs/reqstream/subsystem-publish.yaml b/docs/reqstream/subsystem-publishing.yaml similarity index 100% rename from docs/reqstream/subsystem-publish.yaml rename to docs/reqstream/subsystem-publishing.yaml diff --git a/docs/reqstream/subsystem-validation.yaml b/docs/reqstream/subsystem-selftest.yaml similarity index 100% rename from docs/reqstream/subsystem-validation.yaml rename to docs/reqstream/subsystem-selftest.yaml diff --git a/requirements.yaml b/requirements.yaml index b7b1575..4f2acbc 100644 --- a/requirements.yaml +++ b/requirements.yaml @@ -7,19 +7,19 @@ includes: - docs/reqstream/versionmark-system.yaml - docs/reqstream/platform-requirements.yaml - - docs/reqstream/subsystem-command-line.yaml + - docs/reqstream/subsystem-cli.yaml - docs/reqstream/unit-program.yaml - docs/reqstream/unit-context.yaml - docs/reqstream/subsystem-capture.yaml - docs/reqstream/unit-version-info.yaml - - docs/reqstream/subsystem-publish.yaml + - docs/reqstream/subsystem-publishing.yaml - docs/reqstream/unit-formatter.yaml - docs/reqstream/subsystem-configuration.yaml - docs/reqstream/unit-version-mark-config.yaml - docs/reqstream/unit-tool-config.yaml - - docs/reqstream/subsystem-lint.yaml + - docs/reqstream/subsystem-linting.yaml - docs/reqstream/unit-lint.yaml - - docs/reqstream/subsystem-validation.yaml + - docs/reqstream/subsystem-selftest.yaml - docs/reqstream/unit-validation.yaml - docs/reqstream/unit-path-helpers.yaml - docs/reqstream/ots-mstest.yaml diff --git a/src/DemaConsulting.VersionMark/VersionInfo.cs b/src/DemaConsulting.VersionMark/Capture/VersionInfo.cs similarity index 98% rename from src/DemaConsulting.VersionMark/VersionInfo.cs rename to src/DemaConsulting.VersionMark/Capture/VersionInfo.cs index 879a6d1..eeb03aa 100644 --- a/src/DemaConsulting.VersionMark/VersionInfo.cs +++ b/src/DemaConsulting.VersionMark/Capture/VersionInfo.cs @@ -20,7 +20,7 @@ using System.Text.Json; -namespace DemaConsulting.VersionMark; +namespace DemaConsulting.VersionMark.Capture; /// /// Version information record containing Job ID and tool versions. diff --git a/src/DemaConsulting.VersionMark/Context.cs b/src/DemaConsulting.VersionMark/Cli/Context.cs similarity index 99% rename from src/DemaConsulting.VersionMark/Context.cs rename to src/DemaConsulting.VersionMark/Cli/Context.cs index d0ad71a..d380d21 100644 --- a/src/DemaConsulting.VersionMark/Context.cs +++ b/src/DemaConsulting.VersionMark/Cli/Context.cs @@ -18,7 +18,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -namespace DemaConsulting.VersionMark; +namespace DemaConsulting.VersionMark.Cli; /// /// Context class that handles command-line arguments and program output. diff --git a/src/DemaConsulting.VersionMark/VersionMarkConfig.cs b/src/DemaConsulting.VersionMark/Configuration/VersionMarkConfig.cs similarity index 99% rename from src/DemaConsulting.VersionMark/VersionMarkConfig.cs rename to src/DemaConsulting.VersionMark/Configuration/VersionMarkConfig.cs index 7be6e78..3a7e3f7 100644 --- a/src/DemaConsulting.VersionMark/VersionMarkConfig.cs +++ b/src/DemaConsulting.VersionMark/Configuration/VersionMarkConfig.cs @@ -21,9 +21,10 @@ using System.Diagnostics; using System.Runtime.InteropServices; using System.Text.RegularExpressions; +using DemaConsulting.VersionMark.Capture; using YamlDotNet.RepresentationModel; -namespace DemaConsulting.VersionMark; +namespace DemaConsulting.VersionMark.Configuration; /// /// Configuration for a single tool in .versionmark.yaml file. diff --git a/src/DemaConsulting.VersionMark/Lint.cs b/src/DemaConsulting.VersionMark/Linting/Lint.cs similarity index 99% rename from src/DemaConsulting.VersionMark/Lint.cs rename to src/DemaConsulting.VersionMark/Linting/Lint.cs index 1826696..9077f75 100644 --- a/src/DemaConsulting.VersionMark/Lint.cs +++ b/src/DemaConsulting.VersionMark/Linting/Lint.cs @@ -19,9 +19,10 @@ // SOFTWARE. using System.Text.RegularExpressions; +using DemaConsulting.VersionMark.Cli; using YamlDotNet.RepresentationModel; -namespace DemaConsulting.VersionMark; +namespace DemaConsulting.VersionMark.Linting; /// /// Provides lint functionality for checking .versionmark.yaml configuration files. diff --git a/src/DemaConsulting.VersionMark/Program.cs b/src/DemaConsulting.VersionMark/Program.cs index 789cbf0..23803a2 100644 --- a/src/DemaConsulting.VersionMark/Program.cs +++ b/src/DemaConsulting.VersionMark/Program.cs @@ -19,6 +19,12 @@ // SOFTWARE. using System.Reflection; +using DemaConsulting.VersionMark.Capture; +using DemaConsulting.VersionMark.Cli; +using DemaConsulting.VersionMark.Configuration; +using DemaConsulting.VersionMark.Linting; +using DemaConsulting.VersionMark.Publishing; +using DemaConsulting.VersionMark.SelfTest; using Microsoft.Extensions.FileSystemGlobbing; using Microsoft.Extensions.FileSystemGlobbing.Abstractions; diff --git a/src/DemaConsulting.VersionMark/MarkdownFormatter.cs b/src/DemaConsulting.VersionMark/Publishing/MarkdownFormatter.cs similarity index 98% rename from src/DemaConsulting.VersionMark/MarkdownFormatter.cs rename to src/DemaConsulting.VersionMark/Publishing/MarkdownFormatter.cs index cc513a4..efbb09a 100644 --- a/src/DemaConsulting.VersionMark/MarkdownFormatter.cs +++ b/src/DemaConsulting.VersionMark/Publishing/MarkdownFormatter.cs @@ -19,8 +19,9 @@ // SOFTWARE. using System.Text; +using DemaConsulting.VersionMark.Capture; -namespace DemaConsulting.VersionMark; +namespace DemaConsulting.VersionMark.Publishing; /// /// Provides markdown formatting functionality for version information. diff --git a/src/DemaConsulting.VersionMark/PathHelpers.cs b/src/DemaConsulting.VersionMark/SelfTest/PathHelpers.cs similarity index 98% rename from src/DemaConsulting.VersionMark/PathHelpers.cs rename to src/DemaConsulting.VersionMark/SelfTest/PathHelpers.cs index cec6128..685b59f 100644 --- a/src/DemaConsulting.VersionMark/PathHelpers.cs +++ b/src/DemaConsulting.VersionMark/SelfTest/PathHelpers.cs @@ -18,7 +18,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -namespace DemaConsulting.VersionMark; +namespace DemaConsulting.VersionMark.SelfTest; /// /// Helper utilities for safe path operations. diff --git a/src/DemaConsulting.VersionMark/Validation.cs b/src/DemaConsulting.VersionMark/SelfTest/Validation.cs similarity index 99% rename from src/DemaConsulting.VersionMark/Validation.cs rename to src/DemaConsulting.VersionMark/SelfTest/Validation.cs index 7d8c2cb..ab9d753 100644 --- a/src/DemaConsulting.VersionMark/Validation.cs +++ b/src/DemaConsulting.VersionMark/SelfTest/Validation.cs @@ -20,8 +20,10 @@ using System.Runtime.InteropServices; using DemaConsulting.TestResults.IO; +using DemaConsulting.VersionMark.Capture; +using DemaConsulting.VersionMark.Cli; -namespace DemaConsulting.VersionMark; +namespace DemaConsulting.VersionMark.SelfTest; /// /// Provides self-validation functionality for the VersionMark. diff --git a/test/DemaConsulting.VersionMark.Tests/VersionInfoTests.cs b/test/DemaConsulting.VersionMark.Tests/Capture/VersionInfoTests.cs similarity index 99% rename from test/DemaConsulting.VersionMark.Tests/VersionInfoTests.cs rename to test/DemaConsulting.VersionMark.Tests/Capture/VersionInfoTests.cs index c61569b..4f20ee3 100644 --- a/test/DemaConsulting.VersionMark.Tests/VersionInfoTests.cs +++ b/test/DemaConsulting.VersionMark.Tests/Capture/VersionInfoTests.cs @@ -18,7 +18,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -namespace DemaConsulting.VersionMark.Tests; +using DemaConsulting.VersionMark.Capture; + +namespace DemaConsulting.VersionMark.Tests.Capture; /// /// Unit tests for the VersionInfo class. diff --git a/test/DemaConsulting.VersionMark.Tests/ContextTests.cs b/test/DemaConsulting.VersionMark.Tests/Cli/ContextTests.cs similarity index 99% rename from test/DemaConsulting.VersionMark.Tests/ContextTests.cs rename to test/DemaConsulting.VersionMark.Tests/Cli/ContextTests.cs index e66c9b4..23b23d7 100644 --- a/test/DemaConsulting.VersionMark.Tests/ContextTests.cs +++ b/test/DemaConsulting.VersionMark.Tests/Cli/ContextTests.cs @@ -18,7 +18,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -namespace DemaConsulting.VersionMark.Tests; +using DemaConsulting.VersionMark.Cli; + +namespace DemaConsulting.VersionMark.Tests.Cli; /// /// Unit tests for the Context class. diff --git a/test/DemaConsulting.VersionMark.Tests/VersionMarkConfigTests.cs b/test/DemaConsulting.VersionMark.Tests/Configuration/VersionMarkConfigTests.cs similarity index 99% rename from test/DemaConsulting.VersionMark.Tests/VersionMarkConfigTests.cs rename to test/DemaConsulting.VersionMark.Tests/Configuration/VersionMarkConfigTests.cs index d3094d2..e1fc96d 100644 --- a/test/DemaConsulting.VersionMark.Tests/VersionMarkConfigTests.cs +++ b/test/DemaConsulting.VersionMark.Tests/Configuration/VersionMarkConfigTests.cs @@ -19,8 +19,10 @@ // SOFTWARE. using System.Text.RegularExpressions; +using DemaConsulting.VersionMark.Capture; +using DemaConsulting.VersionMark.Configuration; -namespace DemaConsulting.VersionMark.Tests; +namespace DemaConsulting.VersionMark.Tests.Configuration; /// /// Unit tests for the VersionMarkConfig class. diff --git a/test/DemaConsulting.VersionMark.Tests/IntegrationTests.cs b/test/DemaConsulting.VersionMark.Tests/IntegrationTests.cs index 144acc2..787ee42 100644 --- a/test/DemaConsulting.VersionMark.Tests/IntegrationTests.cs +++ b/test/DemaConsulting.VersionMark.Tests/IntegrationTests.cs @@ -18,6 +18,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +using DemaConsulting.VersionMark.Capture; +using DemaConsulting.VersionMark.SelfTest; + namespace DemaConsulting.VersionMark.Tests; /// diff --git a/test/DemaConsulting.VersionMark.Tests/LintTests.cs b/test/DemaConsulting.VersionMark.Tests/Linting/LintTests.cs similarity index 99% rename from test/DemaConsulting.VersionMark.Tests/LintTests.cs rename to test/DemaConsulting.VersionMark.Tests/Linting/LintTests.cs index 6dcd884..d4f1171 100644 --- a/test/DemaConsulting.VersionMark.Tests/LintTests.cs +++ b/test/DemaConsulting.VersionMark.Tests/Linting/LintTests.cs @@ -18,7 +18,10 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -namespace DemaConsulting.VersionMark.Tests; +using DemaConsulting.VersionMark.Cli; +using DemaConsulting.VersionMark.Linting; + +namespace DemaConsulting.VersionMark.Tests.Linting; /// /// Unit tests for the Lint class. diff --git a/test/DemaConsulting.VersionMark.Tests/ProgramTests.cs b/test/DemaConsulting.VersionMark.Tests/ProgramTests.cs index 3a93410..10cda3b 100644 --- a/test/DemaConsulting.VersionMark.Tests/ProgramTests.cs +++ b/test/DemaConsulting.VersionMark.Tests/ProgramTests.cs @@ -18,6 +18,10 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +using DemaConsulting.VersionMark.Capture; +using DemaConsulting.VersionMark.Cli; +using DemaConsulting.VersionMark.SelfTest; + namespace DemaConsulting.VersionMark.Tests; /// diff --git a/test/DemaConsulting.VersionMark.Tests/MarkdownFormatterTests.cs b/test/DemaConsulting.VersionMark.Tests/Publishing/MarkdownFormatterTests.cs similarity index 99% rename from test/DemaConsulting.VersionMark.Tests/MarkdownFormatterTests.cs rename to test/DemaConsulting.VersionMark.Tests/Publishing/MarkdownFormatterTests.cs index 57a6d48..a24b538 100644 --- a/test/DemaConsulting.VersionMark.Tests/MarkdownFormatterTests.cs +++ b/test/DemaConsulting.VersionMark.Tests/Publishing/MarkdownFormatterTests.cs @@ -18,7 +18,10 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -namespace DemaConsulting.VersionMark.Tests; +using DemaConsulting.VersionMark.Capture; +using DemaConsulting.VersionMark.Publishing; + +namespace DemaConsulting.VersionMark.Tests.Publishing; /// /// Unit tests for the MarkdownFormatter class. diff --git a/test/DemaConsulting.VersionMark.Tests/PathHelpersTests.cs b/test/DemaConsulting.VersionMark.Tests/SelfTest/PathHelpersTests.cs similarity index 98% rename from test/DemaConsulting.VersionMark.Tests/PathHelpersTests.cs rename to test/DemaConsulting.VersionMark.Tests/SelfTest/PathHelpersTests.cs index f3ab7d0..4b972bf 100644 --- a/test/DemaConsulting.VersionMark.Tests/PathHelpersTests.cs +++ b/test/DemaConsulting.VersionMark.Tests/SelfTest/PathHelpersTests.cs @@ -18,7 +18,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -namespace DemaConsulting.VersionMark.Tests; +using DemaConsulting.VersionMark.SelfTest; + +namespace DemaConsulting.VersionMark.Tests.SelfTest; /// /// Tests for the PathHelpers class.