fix(deploy): address M2.1 review nits — comparer consistency + comments (#22)
- connection-name capable-set comparer kept as StringComparer.Ordinal: FlatteningService and SemanticValidator use all-ordinal name-keyed dictionaries throughout; OrdinalIgnoreCase would be inconsistent with the rest of the binding-resolution path — added comment documenting this - IsAlarmCapable protocol-match confirmed consistent with DataConnectionFactory (both OrdinalIgnoreCase); added case-insensitive InlineData variants (OPCUA, opcua, mxgateway, MXGATEWAY) to lock the contract - clarified FlatteningPipeline comment: "filters connections by alarm-capable protocol, then collects their names" (was "maps from the protocol string") - added DataConnectionLayer/DataConnectionFactory.cs path reference to AlarmCapableProtocols sync-risk comment
This commit is contained in:
+6
@@ -83,6 +83,12 @@ public class FlatteningPipelineNativeAlarmCapabilityTests
|
||||
[Theory]
|
||||
[InlineData("OpcUa")]
|
||||
[InlineData("MxGateway")]
|
||||
// Case variants: IsAlarmCapable uses OrdinalIgnoreCase, matching DataConnectionFactory's
|
||||
// own OrdinalIgnoreCase protocol-key lookup; lock the contract with non-canonical casing.
|
||||
[InlineData("OPCUA")]
|
||||
[InlineData("opcua")]
|
||||
[InlineData("mxgateway")]
|
||||
[InlineData("MXGATEWAY")]
|
||||
public async Task FlattenAndValidate_NativeAlarmSourceOnAlarmCapableConnection_NoCapabilityError(string protocol)
|
||||
{
|
||||
Arrange(connectionName: "Boiler", connectionProtocol: protocol, boundConnectionName: "Boiler");
|
||||
|
||||
Reference in New Issue
Block a user