--- source_files: - Common/DTS.Common/Interface/TestModule/ITestModuleView.cs - Common/DTS.Common/Interface/TestModule/ITestModuleViewModel.cs generated_at: "2026-04-17T16:07:10.454200+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "1757ca37501c0a0c" --- # TestModule ### Purpose This module defines the contract for a Test Module component within the DTS application, following a View-ViewModel pattern. It provides interfaces for a testing or assembly inspection feature, allowing the ViewModel to expose a list of assemblies that the View can consume. This appears to be part of a plugin or module testing infrastructure. ### Public Interface **ITestModuleView** - Signature: `public interface ITestModuleView : IBaseView { }` - Description: Marker interface for the Test Module View. Inherits from `IBaseView` but defines no additional members. **ITestModuleViewModel** - Signature: `public interface ITestModuleViewModel : IBaseViewModel` - Description: ViewModel interface for the Test Module. Inherits from `IBaseViewModel` and exposes assembly data. - Property: `List AssemblyList { get; set; }` - Gets or sets a list of .NET assemblies, presumably for inspection, testing, or module loading purposes. ### Invariants - `ITestModuleView` must always be assignable to `IBaseView`. - `ITestModuleViewModel` must always be assignable to `IBaseViewModel`. - The `AssemblyList` property may be null or empty; null safety is not enforced at the interface level. ### Dependencies - **Depends on**: `DTS.Common.Base` (for `IBaseView` and `IBaseViewModel` base interfaces) - **Depends on**: `System.Collections.Generic` (for `List`) - **Depends on**: `System.Reflection` (for `Assembly` type) - **Depended on by**: Cannot be determined from source alone; likely consumed by concrete View/ViewModel implementations and a DI container or navigation service. ### Gotchas - The `AssemblyList` uses `set` accessor, meaning the entire list can be replaced. Consumers should be aware that the reference can change, not just the contents. - Neither interface defines any methods for loading or validating assemblies—this logic is left to implementations. ---