42 lines
3.0 KiB
Markdown
42 lines
3.0 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.CommonCore/Interface/RunTest/IRunTestView.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/RunTest/IRunTestViewModel.cs
|
||
|
|
generated_at: "2026-04-16T12:21:57.874851+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "e490e1c23959cb19"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Documentation: DTS.Common.Interface.RunTest
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
This module defines the abstract contracts for the "Run Test" feature within the system. It provides two marker interfaces, `IRunTestView` and `IRunTestViewModel`, which establish a specific View-ViewModel relationship intended for test execution workflows. These interfaces likely serve as registration points for dependency injection containers or for identifying specific view types within an MVVM (Model-View-ViewModel) architecture.
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
|
||
|
|
### `IRunTestView`
|
||
|
|
* **Signature:** `public interface IRunTestView : IBaseView`
|
||
|
|
* **Namespace:** `DTS.Common.Interface`
|
||
|
|
* **Description:** Defines the contract for the View component in the Run Test feature. It inherits from `IBaseView` but adds no additional members, functioning as a specific type identifier for the View layer.
|
||
|
|
|
||
|
|
### `IRunTestViewModel`
|
||
|
|
* **Signature:** `public interface IRunTestViewModel : IBaseViewModel`
|
||
|
|
* **Namespace:** `DTS.Common.Interface`
|
||
|
|
* **Description:** Defines the contract for the ViewModel component in the Run Test feature. It inherits from `IBaseViewModel` but adds no additional members, functioning as a specific type identifier for the ViewModel layer.
|
||
|
|
|
||
|
|
## 3. Invariants
|
||
|
|
* **Hierarchy Enforcement:** Any class implementing `IRunTestView` must also implement `IBaseView`. Any class implementing `IRunTestViewModel` must also implement `IBaseViewModel`.
|
||
|
|
* **Contract Emptiness:** Neither `IRunTestView` nor `IRunTestViewModel` define any methods, properties, or events of their own. Their behavior is entirely derived from their base interfaces (`IBaseView` and `IBaseViewModel` respectively).
|
||
|
|
|
||
|
|
## 4. Dependencies
|
||
|
|
* **Internal Dependencies:**
|
||
|
|
* `DTS.Common.Base`: Both source files import this namespace. It is the location of the base interfaces `IBaseView` and `IBaseViewModel`.
|
||
|
|
* **External Consumers:**
|
||
|
|
* Concrete View classes (intended to implement `IRunTestView`).
|
||
|
|
* Concrete ViewModel classes (intended to implement `IRunTestViewModel`).
|
||
|
|
* Navigation or DI registration logic that resolves views based on these specific interface types.
|
||
|
|
|
||
|
|
## 5. Gotchas
|
||
|
|
* **Marker Interfaces:** Both interfaces are empty (marker interfaces). Developers should not expect specific properties or methods (such as `RunTest()` or `TestResults`) to be defined at this level. The actual logic for "Run Test" functionality is not enforced by these contracts and must be looked for in the concrete implementations or base classes.
|
||
|
|
* **Base Implementation Unknown:** The specific members provided by `IBaseView` and `IBaseViewModel` are not visible in the provided source code. Understanding the full capabilities of these interfaces requires inspecting `DTS.Common.Base`.
|