--- 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`) 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` | | `Sensors` | `List` | | `ExtraProperties` | `List` | | `TestObjects` | `List` | #### XML-Ignored Runtime Properties | Property | Type | Attribute | |----------|------|-----------| | `Channels` | `List` | `[System.Xml.Serialization.XmlIgnore]` | | `SingleChannelGraphs` | `List` | `[System.Xml.Serialization.XmlIgnore]` | | `SortedGraphs` | `IDictionary` | `[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