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

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:
Joseph Doherty
2026-05-28 08:10:17 -04:00
parent f9fc7dd2e1
commit 64e3fbe035
756 changed files with 9876 additions and 96 deletions
@@ -10,6 +10,10 @@ public sealed class FocasScaffoldingTests
{
// ---- FocasHostAddress ----
/// <summary>Verifies FocasHostAddress.TryParse correctly parses valid addresses.</summary>
/// <param name="input">The input address string to parse.</param>
/// <param name="host">The expected host after parsing.</param>
/// <param name="port">The expected port after parsing.</param>
[Theory]
[InlineData("focas://10.0.0.5:8193", "10.0.0.5", 8193)]
[InlineData("focas://10.0.0.5", "10.0.0.5", 8193)] // default port
@@ -24,6 +28,8 @@ public sealed class FocasScaffoldingTests
parsed.Port.ShouldBe(port);
}
/// <summary>Verifies FocasHostAddress.TryParse rejects invalid addresses.</summary>
/// <param name="input">The input address string to test for rejection.</param>
[Theory]
[InlineData(null)]
[InlineData("")]
@@ -38,6 +44,7 @@ public sealed class FocasScaffoldingTests
FocasHostAddress.TryParse(input).ShouldBeNull();
}
/// <summary>Verifies FocasHostAddress.ToString strips the default port.</summary>
[Fact]
public void HostAddress_ToString_strips_default_port()
{
@@ -47,6 +54,12 @@ public sealed class FocasScaffoldingTests
// ---- FocasAddress ----
/// <summary>Verifies FocasAddress.TryParse correctly parses PMC address forms.</summary>
/// <param name="input">The input address string to parse.</param>
/// <param name="kind">The expected FocasAreaKind after parsing.</param>
/// <param name="letter">The expected PMC letter after parsing.</param>
/// <param name="num">The expected number after parsing.</param>
/// <param name="bit">The expected bit index after parsing.</param>
[Theory]
[InlineData("X0.0", FocasAreaKind.Pmc, "X", 0, 0)]
[InlineData("X0", FocasAreaKind.Pmc, "X", 0, null)]
@@ -70,6 +83,11 @@ public sealed class FocasScaffoldingTests
a.BitIndex.ShouldBe(bit);
}
/// <summary>Verifies FocasAddress.TryParse correctly parses parameter address forms.</summary>
/// <param name="input">The input address string to parse.</param>
/// <param name="kind">The expected FocasAreaKind after parsing.</param>
/// <param name="num">The expected number after parsing.</param>
/// <param name="bit">The expected bit index after parsing.</param>
[Theory]
[InlineData("PARAM:1020", FocasAreaKind.Parameter, 1020, null)]
[InlineData("PARAM:1815/0", FocasAreaKind.Parameter, 1815, 0)]
@@ -84,6 +102,10 @@ public sealed class FocasScaffoldingTests
a.BitIndex.ShouldBe(bit);
}
/// <summary>Verifies FocasAddress.TryParse correctly parses macro address forms.</summary>
/// <param name="input">The input address string to parse.</param>
/// <param name="kind">The expected FocasAreaKind after parsing.</param>
/// <param name="num">The expected number after parsing.</param>
[Theory]
[InlineData("MACRO:100", FocasAreaKind.Macro, 100)]
[InlineData("MACRO:500", FocasAreaKind.Macro, 500)]
@@ -96,6 +118,8 @@ public sealed class FocasScaffoldingTests
a.BitIndex.ShouldBeNull();
}
/// <summary>Verifies FocasAddress.TryParse rejects invalid address forms.</summary>
/// <param name="input">The input address string to test for rejection.</param>
[Theory]
[InlineData(null)]
[InlineData("")]
@@ -114,6 +138,8 @@ public sealed class FocasScaffoldingTests
FocasAddress.TryParse(input).ShouldBeNull();
}
/// <summary>Verifies FocasAddress.Canonical roundtrips correctly.</summary>
/// <param name="input">The input address string to roundtrip.</param>
[Theory]
[InlineData("X0.0")]
[InlineData("R100")]
@@ -130,6 +156,7 @@ public sealed class FocasScaffoldingTests
// ---- FocasDataType ----
/// <summary>Verifies data type mapping covers all atomic FOCAS types.</summary>
[Fact]
public void DataType_mapping_covers_atomic_focas_types()
{
@@ -143,6 +170,9 @@ public sealed class FocasScaffoldingTests
// ---- FocasStatusMapper ----
/// <summary>Verifies status mapper covers all known FOCAS return codes.</summary>
/// <param name="ret">The FOCAS return code to map.</param>
/// <param name="expected">The expected mapped status code.</param>
[Theory]
[InlineData(0, FocasStatusMapper.Good)]
[InlineData(3, FocasStatusMapper.BadOutOfRange)] // EW_NUMBER
@@ -161,6 +191,7 @@ public sealed class FocasScaffoldingTests
// ---- FocasDriver ----
/// <summary>Verifies FocasDriver initializes with correct type and ID.</summary>
[Fact]
public void DriverType_is_FOCAS()
{
@@ -169,6 +200,7 @@ public sealed class FocasScaffoldingTests
drv.DriverInstanceId.ShouldBe("drv-1");
}
/// <summary>Verifies InitializeAsync parses device addresses correctly.</summary>
[Fact]
public async Task InitializeAsync_parses_device_addresses()
{
@@ -188,6 +220,7 @@ public sealed class FocasScaffoldingTests
drv.GetDeviceState("focas://10.0.0.6:12345")!.Options.DeviceName.ShouldBe("CNC-2");
}
/// <summary>Verifies InitializeAsync faults on malformed addresses.</summary>
[Fact]
public async Task InitializeAsync_malformed_address_faults()
{
@@ -201,6 +234,7 @@ public sealed class FocasScaffoldingTests
drv.GetHealth().State.ShouldBe(DriverState.Faulted);
}
/// <summary>Verifies ShutdownAsync clears all devices.</summary>
[Fact]
public async Task ShutdownAsync_clears_devices()
{
@@ -218,6 +252,7 @@ public sealed class FocasScaffoldingTests
// ---- UnimplementedFocasClientFactory ----
/// <summary>Verifies UnimplementedFocasClientFactory throws on Create.</summary>
[Fact]
public void Unimplemented_factory_throws_on_Create_with_config_pointer()
{