36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.Common/Interface/Viewer/TestModule/ITestModuleView.cs
|
||
|
|
- Common/DTS.Common/Interface/Viewer/TestModule/ITestModuleViewModel.cs
|
||
|
|
generated_at: "2026-04-17T16:07:58.356252+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "ad373f54a4d46c05"
|
||
|
|
---
|
||
|
|
|
||
|
|
# TestModule
|
||
|
|
|
||
|
|
### Purpose
|
||
|
|
This module defines the contract for a Test Module viewer component within the DTS application. It provides a minimal interface pair (View/ViewModel) following the MVVM pattern, where the ViewModel maintains a list of assemblies (`AssemblyList`). This appears to be a plugin or module inspection mechanism, allowing the application to dynamically load or display test modules via reflection.
|
||
|
|
|
||
|
|
### Public Interface
|
||
|
|
|
||
|
|
**ITestModuleView** (extends `IBaseView`)
|
||
|
|
- Empty interface serving as a marker type for Test Module views.
|
||
|
|
|
||
|
|
**ITestModuleViewModel** (extends `IBaseViewModel`)
|
||
|
|
- `List<Assembly> AssemblyList { get; set; }` — Gets or sets a list of .NET assemblies associated with this test module context.
|
||
|
|
|
||
|
|
### Invariants
|
||
|
|
- `ITestModuleViewModel.AssemblyList` may be null or empty; no validation is enforced at the interface level.
|
||
|
|
- Both interfaces inherit from `IBaseView` and `IBaseViewModel` respectively, implying they must satisfy any contracts defined in those base types.
|
||
|
|
|
||
|
|
### Dependencies
|
||
|
|
- **Depends on**: `DTS.Common.Base` (for `IBaseView`, `IBaseViewModel`)
|
||
|
|
- **Depends on**: `System.Collections.Generic` (for `List<T>`)
|
||
|
|
- **Depends on**: `System.Reflection` (for `Assembly`)
|
||
|
|
|
||
|
|
### Gotchas
|
||
|
|
- The `AssemblyList` property uses a mutable `List<Assembly>` rather than `IList<Assembly>` or `IReadOnlyList<Assembly>`, allowing external modification of the collection reference. The intended ownership semantics (who populates/clears this list) are unclear from the source alone.
|
||
|
|
|
||
|
|
---
|