--- 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 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`) - **Depends on**: `System.Reflection` (for `Assembly`) ### Gotchas - The `AssemblyList` property uses a mutable `List` rather than `IList` or `IReadOnlyList`, allowing external modification of the collection reference. The intended ownership semantics (who populates/clears this list) are unclear from the source alone. ---