5.3 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||
|---|---|---|---|---|---|---|---|
|
2026-04-16T12:23:26.707020+00:00 | zai-org/GLM-5-FP8 | 1 | b60d1a2f75a9d685 |
Documentation: Test Summary List View Interfaces
1. Purpose
This module defines the core interfaces for a Test Summary List feature within an MVVM (Model-View-ViewModel) architecture. It provides contracts for displaying collections of test summaries, managing user selections, and representing individual test summary data including channels, graphs, and metadata. The module serves as the abstraction layer between the view and view model for test summary presentation.
2. Public Interface
ITestSummaryListView
Namespace: DTS.Common.Interface
Extends: IBaseView
A marker interface representing the view component for the test summary list. No members are defined beyond the inherited IBaseView.
ITestSummaryListViewModel
Namespace: DTS.Common.Interface
Extends: IBaseViewModel
| Member | Type | Description |
|---|---|---|
View |
ITestSummaryListView (read-only) |
Gets the Shell View associated with this view model. |
TestSummaryList |
ObservableCollection<ITestSummary> |
Observable collection of test summaries bound to the view. Supports get/set. |
SelectedTestSummaryList |
List<ITestSummary> |
List of currently selected test summaries. Supports get/set. |
PublishSelectedTestSummaryList() |
void |
Publishes the selected test summary list (destination/consumers not specified in source). |
TestSummaryList_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) |
void |
Event handler for collection change notifications on TestSummaryList. |
ITestSummary
Namespace: DTS.Common.Interface.TestDefinition
Extends: IBaseClass
| Property | Type | Access |
|---|---|---|
Id |
string |
get/set |
SetupName |
string |
get/set |
Description |
string |
get/set |
ChannelCount |
int |
get/set |
FileDate |
DateTime |
get/set |
TimeStamp |
DateTime |
get/set |
DataType |
string |
get/set |
IsSelected |
bool |
get/set |
Graphs |
List<ITestGraphs> |
get/set |
Channels |
List<ITestChannel> |
get/set |
CalculatedChannels |
List<ITestChannel> |
get/set |
Parent |
IBaseViewModel |
get/set |
TestMetadata |
ITestMetadata |
get/set |
CalibrationBehavior |
CalibrationBehaviors |
get/set |
3. Invariants
ITestSummaryListViewmust always be assignable toIBaseView.ITestSummaryListViewModelmust always be assignable toIBaseViewModel.ITestSummarymust always be assignable toIBaseClass.TestSummaryList_CollectionChangedis designed to handleNotifyCollectionChangedEventArgs, implying it expects to be wired to anObservableCollection<T>.CollectionChangedevent.- The
Parentproperty onITestSummarysuggests a hierarchical relationship where a test summary has a reference back to its containing view model.
4. Dependencies
This module depends on:
DTS.Common.Base— ProvidesIBaseView,IBaseViewModel, andIBaseClassbase interfaces.DTS.Common.Enums.Sensors— Provides theCalibrationBehaviorsenum used inITestSummary.System.Collections.Generic— ForList<T>.System.Collections.ObjectModel— ForObservableCollection<T>.System.Collections.Specialized— ForNotifyCollectionChangedEventArgs.System— ForDateTime.
External types referenced but not defined in this module:
ITestGraphs— Referenced inITestSummary.Graphs; definition not provided in source.ITestChannel— Referenced inITestSummary.ChannelsandCalculatedChannels; definition not provided in source.ITestMetadata— Referenced inITestSummary.TestMetadata; definition not provided in source.
5. Gotchas
-
Namespace/Directory Mismatch: All three files contain
// ReSharper disable CheckNamespacedirectives. The physical file path (DTS.Viewer/TestSummary/) does not match the declared namespace (DTS.Common.InterfaceorDTS.Common.Interface.TestDefinition). This suggests either a deliberate namespace flattening strategy or a historical refactoring that left files in their original locations. -
TestSummaryList_CollectionChangedNaming Convention: The method name follows an event handler naming pattern but is defined as a regular interface method rather than being wired via an event subscription. The caller is responsible for connecting this handler to theCollectionChangedevent ofTestSummaryList. -
Unknown Publish Behavior: The
PublishSelectedTestSummaryList()method's implementation details (event aggregator, message bus, direct callback, etc.) are not specified in these interfaces. Consumers should consult the implementing class for the actual publish mechanism. -
Nullable Collections Not Specified: The interfaces do not indicate whether
Graphs,Channels,CalculatedChannels, orTestMetadatacan be null. Implementers should document their null-handling strategy.