Files
2026-04-17 14:55:32 -04:00

139 lines
5.4 KiB
Markdown

---
source_files:
- Common/DTS.Common.Serialization/TestSetup/ExtraProperty.cs
- Common/DTS.Common.Serialization/TestSetup/Sensor.cs
- Common/DTS.Common.Serialization/TestSetup/TestSetup.cs
generated_at: "2026-04-17T15:40:22.555743+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "e880b50c9256e817"
---
# Documentation: DTS.Serialization.TestSetup
## 1. Purpose
This module provides a data model for test configuration and metadata in what appears to be a testing/measurement system. The `TestSetup` class serves as the primary container for test-related information including laboratory details, customer information, test engineer contacts, sensor configurations, graph definitions, and export/upload settings. It supports serialization (marked `[Serializable]`) and uses a custom property wrapper pattern (`Property<T>`) for property management. Nested classes `Sensor` and `ExtraProperty` provide structured storage for sensor configurations and custom key-value metadata respectively.
---
## 2. Public Interface
### TestSetup Class
**Namespace:** `DTS.Serialization`
**Inheritance:** `Exceptional`
**Attributes:** `[Serializable]`
#### Constructors
- `TestSetup()` — Default constructor initializing all properties to default values. Sets `Version` to `"2.0.0.0"`, `CalibrationBehavior` to `CalibrationBehaviors.NonLinearIfAvailable`, and initializes collection properties (`Graphs`, `Sensors`, `ExtraProperties`, `TestObjects`) to empty lists.
#### Upload Configuration Properties
| Property | Type | Description |
|----------|------|-------------|
| `Upload` | `bool` | Indicates whether the test setup was configured to upload when run. |
| `UploadFolder` | `string` | The upload folder path; can be overridden by an INI file. |
| `UploadExportsOnly` | `bool` | Controls whether only exports are uploaded. |
#### Test Metadata Properties
| Property | Type | Description |
|----------|------|-------------|
| `Name` | `string` | Name of the test setup. |
| `Description` | `string` | Description of the test. |
| `DateOfTheTest` | `string` | Date when the test was performed. |
| `TypeOfTheTest` | `string` | Type classification of the test. |
| `Subtype` | `string` | Subtype classification. |
| `Timestamp` | `string` | Timestamp of the test. |
| `Version` | `string` | Version string (default `"2.0.0.0"`). Marked `virtual`. |
| `TestComment` | `string` | Free-form comment field. |
| `ISFFile` | `string` | ISF file reference. |
#### Laboratory Information Properties
| Property | Type |
|----------|------|
| `LabName` | `string` |
| `LaboratoryName` | `string` |
| `LaboratoryContactName` | `string` |
| `LaboratoryContactPhone` | `string` |
| `LaboratoryContactFax` | `string` |
| `LaboratoryContactEmail` | `string` |
| `LaboratoryTestReferenceNumber` | `string` |
| `LaboratoryProjectReferenceNumber` | `string` |
#### Customer Information Properties
| Property | Type |
|----------|------|
| `CustName` | `string` |
| `CustomerName` | `string` |
| `CustomerTestReferenceNumber` | `string` |
| `CustomerProjectReferenceNumber` | `string` |
| `CustomerOrderNumber` | `string` |
| `CustomerCostUnit` | `string` |
#### Test Engineer Properties
| Property | Type |
|----------|------|
| `TEName` | `string` |
| `TestEngineerName` | `string` |
| `TestEngineerPhone` | `string` |
| `TestEngineerFax` | `string` |
| `TestEngineerEmail` | `string` |
#### Test Configuration Properties
| Property | Type | Description |
|----------|------|-------------|
| `CalibrationBehavior` | `CalibrationBehaviors` | Defaults to `NonLinearIfAvailable`. |
| `ExportFolder` | `string` | Folder for exports. |
| `ExportTypes` | `Int32` | Export format flags. |
| `ReferenceTemperature` | `string` | Reference temperature for the test. |
| `RelativeAirHumidity` | `string` | Relative air humidity. |
| `Regulation` | `string` | Regulation reference. |
| `NumberOfTestObjects` | `string` | Count of test objects. |
| `NumberOfMedia` | `string` | Count of media. |
#### Collection Properties
| Property | Type |
|----------|------|
| `Graphs` | `List<Graph>` |
| `Sensors` | `List<Sensor>` |
| `ExtraProperties` | `List<ExtraProperty>` |
| `TestObjects` | `List<TestObject>` |
#### XML-Ignored Runtime Properties
| Property | Type | Attribute |
|----------|------|-----------|
| `Channels` | `List<Graph.Channel>` | `[System.Xml.Serialization.XmlIgnore]` |
| `SingleChannelGraphs` | `List<Graph>` | `[System.Xml.Serialization.XmlIgnore]` |
| `SortedGraphs` | `IDictionary<Guid, Graph>` | `[System.Xml.Serialization.XmlIgnore]` |
#### Methods
- `void SortGraphs()` — Populates `SortedGraphs` dictionary. First adds all `Graphs` in their original order, then sorts `SingleChannelGraphs` by `AbsoluteDisplayOrder` and appends them.
---
### TestSetup.Sensor Class (Nested)
**Inheritance:** `Exceptional`
#### Constructors
- `Sensor()` — Default constructor. Sets `Version` to `"1.0.0.0"`, all other properties to `null`.
#### Properties
| Property | Type |
|----------|------|
| `FilterClass` | `string` |
| `Name` | `string` |
| `Polarity` | `string` |
| `Position` | `string` |
| `Range` | `string` |
| `Version` | `string` |
---
### TestSetup.ExtraProperty Class (Nested)
**Inheritance:** `Exceptional`
#### Constructors
- `ExtraProperty()` — Default constructor. Sets `Key` and `Value` to `null`, `Version` to `"1.0.0.0"`.
- `ExtraProperty(string key, string value)` — Initializes with specified key and value.
#### Properties
| Property