Files

39 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.Common/XMLUtils/TestSetupExportXML/TestSetups/TestSetup/TestSetupXMLClass.cs
generated_at: "2026-04-17T16:09:45.090949+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "6d5d97d1ece504b8"
---
# TestSetup
### Purpose
This module defines `TestSetupXMLClass`, the root container class for XML serialization of test setup configurations. It serves as the top-level data structure for exporting/importing test setup data, aggregating references to DAS (Data Acquisition System) hardware lists, test groups, fields, hardware includes, level triggers, and metadata.
### Public Interface
- **`TestSetupXMLClass`** - Root XML container class for test setup export.
- `string Id { get; set; }` - Identifier for the test setup.
- `List<DASListXMLClass> DASList { get; set; }` - Collection of DAS hardware list configurations. Serialized as XML element "DASList".
- `List<GroupsXMLClass> Groups { get; set; }` - Collection of test group configurations. Serialized as XML element "Groups".
- `FieldsXMLClass Fields { get; set; }` - Field definitions for the test setup. Serialized as XML element "Fields".
- `string HardwareIncludes { get; set; }` - Hardware include references (no XML element attribute specified, uses property name).
- `LevelTriggersXMLClass LevelTriggers { get; set; }` - Level trigger configurations. Serialized as XML element "LevelTriggers".
- `MetaDatasXMLClass MetaDatas { get; set; }` - Metadata associated with the test setup. Serialized as XML element "MetaDatas".
### Invariants
- All properties are nullable reference types; no null checks or initialization is enforced at the class level.
- XML element names are explicitly controlled via `[XmlElement]` attributes for most collection properties.
### Dependencies
- **Depends on**: `System.Xml.Serialization` for XML serialization attributes.
- **Depends on**: `DASListXMLClass`, `GroupsXMLClass`, `FieldsXMLClass`, `LevelTriggersXMLClass`, `MetaDatasXMLClass` (referenced but not shown in this batch).
- **Depended on by**: Unclear from source alone—likely used by XML import/export utilities in the parent namespace.
### Gotchas
- The `DASList` property is of type `List<DASListXMLClass>` and serialized with `[XmlElement("DASList")]`, which means each item in the list is serialized as a `<DASList>` element, not wrapped in a parent container. This differs from typical `[XmlArray]`/`[XmlArrayItem]` patterns.
- `HardwareIncludes` lacks an `[XmlElement]` attribute, so its XML element name defaults to the property name, unlike other properties in this class.
---