docs: backfill XML documentation across 756 files
v2-ci / build (push) Failing after 1m43s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
v2-ci / build (push) Failing after 1m43s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
Adds <summary>, <param>, <typeparam>, and <inheritdoc/> tags to public members surfaced by commentchecker — resolves 5,847 of 5,869 issues (99.6%) across three /fixdocs passes.
This commit is contained in:
@@ -9,6 +9,9 @@ namespace ZB.MOM.WW.OtOpcUa.Configuration.Tests;
|
||||
[Trait("Category", "Unit")]
|
||||
public sealed class DraftValidatorTests
|
||||
{
|
||||
/// <summary>Verifies that UnsSegment validation rejects uppercase and special characters.</summary>
|
||||
/// <param name="name">The segment name to validate.</param>
|
||||
/// <param name="shouldPass">Whether the validation should pass for this name.</param>
|
||||
[Theory]
|
||||
[InlineData("valid-name", true)]
|
||||
[InlineData("line-01", true)]
|
||||
@@ -41,6 +44,7 @@ public sealed class DraftValidatorTests
|
||||
hasUnsError.ShouldBe(!shouldPass);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that namespace cannot be bound to a different cluster.</summary>
|
||||
[Fact]
|
||||
public void Cross_cluster_namespace_binding_is_rejected()
|
||||
{
|
||||
@@ -55,6 +59,7 @@ public sealed class DraftValidatorTests
|
||||
errors.ShouldContain(e => e.Code == "BadCrossClusterNamespaceBinding");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that namespace in the same cluster is accepted.</summary>
|
||||
[Fact]
|
||||
public void Same_cluster_namespace_binding_is_accepted()
|
||||
{
|
||||
@@ -68,6 +73,7 @@ public sealed class DraftValidatorTests
|
||||
DraftValidator.Validate(draft).ShouldNotContain(e => e.Code == "BadCrossClusterNamespaceBinding");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that equipment UUID must remain immutable across generations.</summary>
|
||||
[Fact]
|
||||
public void EquipmentUuid_change_across_generations_is_rejected()
|
||||
{
|
||||
@@ -85,6 +91,7 @@ public sealed class DraftValidatorTests
|
||||
DraftValidator.Validate(draft).ShouldContain(e => e.Code == "EquipmentUuidImmutable");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a ZTag cannot be reserved by a different equipment UUID.</summary>
|
||||
[Fact]
|
||||
public void ZTag_reserved_by_different_uuid_is_rejected()
|
||||
{
|
||||
@@ -101,6 +108,7 @@ public sealed class DraftValidatorTests
|
||||
DraftValidator.Validate(draft).ShouldContain(e => e.Code == "BadDuplicateExternalIdentifier");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that equipment ID must be derived from its UUID.</summary>
|
||||
[Fact]
|
||||
public void EquipmentId_that_does_not_match_derivation_is_rejected()
|
||||
{
|
||||
@@ -114,6 +122,7 @@ public sealed class DraftValidatorTests
|
||||
DraftValidator.Validate(draft).ShouldContain(e => e.Code == "EquipmentIdNotDerived");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that Galaxy driver cannot be placed in Equipment namespace.</summary>
|
||||
[Fact]
|
||||
public void Galaxy_driver_in_Equipment_namespace_is_rejected()
|
||||
{
|
||||
@@ -127,6 +136,7 @@ public sealed class DraftValidatorTests
|
||||
DraftValidator.Validate(draft).ShouldContain(e => e.Code == "DriverNamespaceKindMismatch");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that all validation errors are reported simultaneously.</summary>
|
||||
[Fact]
|
||||
public void Draft_with_three_violations_surfaces_all_three()
|
||||
{
|
||||
@@ -150,6 +160,11 @@ public sealed class DraftValidatorTests
|
||||
// Phase 6.3 task #148 part 2 — ValidateClusterTopology
|
||||
// ------------------------------------------------------------------------------------
|
||||
|
||||
/// <summary>Verifies that cluster topology validation checks node count against declared redundancy mode.</summary>
|
||||
/// <param name="nodeCount">The declared cluster node count.</param>
|
||||
/// <param name="mode">The declared redundancy mode.</param>
|
||||
/// <param name="enabledNodes">The number of enabled nodes to include in the topology.</param>
|
||||
/// <param name="expectedDeclaredErrors">The number of ClusterRedundancyModeInvalid errors expected.</param>
|
||||
[Theory]
|
||||
[InlineData(1, RedundancyMode.None, 1, 0)] // single-node standalone — ok
|
||||
[InlineData(2, RedundancyMode.Warm, 2, 0)] // 2-node warm — ok
|
||||
@@ -168,6 +183,7 @@ public sealed class DraftValidatorTests
|
||||
errors.Count(e => e.Code == "ClusterRedundancyModeInvalid").ShouldBe(expectedDeclaredErrors);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that disabled nodes cause topology validation to fail.</summary>
|
||||
[Fact]
|
||||
public void ValidateClusterTopology_flags_disabled_node_mismatch()
|
||||
{
|
||||
@@ -188,6 +204,7 @@ public sealed class DraftValidatorTests
|
||||
// ValidateClusterTopology_flags_multiple_Primary test (and the
|
||||
// ClusterMultiplePrimary error code it asserted) were removed alongside Task 14d.
|
||||
|
||||
/// <summary>Verifies that a valid standalone cluster passes validation.</summary>
|
||||
[Fact]
|
||||
public void ValidateClusterTopology_returns_no_errors_on_valid_standalone()
|
||||
{
|
||||
@@ -227,6 +244,7 @@ public sealed class DraftValidatorTests
|
||||
// ValidatePathLength — Enterprise/Site length precision (Configuration-003)
|
||||
// ------------------------------------------------------------------------------------
|
||||
|
||||
/// <summary>Verifies that path length validation uses actual Enterprise and Site lengths.</summary>
|
||||
[Fact]
|
||||
public void PathLength_uses_actual_Enterprise_Site_when_provided()
|
||||
{
|
||||
@@ -270,6 +288,7 @@ public sealed class DraftValidatorTests
|
||||
"actual Enterprise='zb' + Site='s' keeps total path at 161 chars — under the 200-char limit");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that path length validation uses conservative fallback when Enterprise and Site are absent.</summary>
|
||||
[Fact]
|
||||
public void PathLength_conservative_fallback_when_Enterprise_Site_absent()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user