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
@@ -19,8 +19,16 @@ public sealed class ModbusProbeTests
public volatile bool Reachable = true;
public int ProbeCount;
/// <summary>Asynchronously connects the transport.</summary>
/// <param name="ct">The cancellation token.</param>
/// <returns>A completed task.</returns>
public Task ConnectAsync(CancellationToken ct) => Task.CompletedTask;
/// <summary>Asynchronously sends a Modbus PDU and returns a response.</summary>
/// <param name="unitId">The Modbus unit ID.</param>
/// <param name="pdu">The protocol data unit to send.</param>
/// <param name="ct">The cancellation token.</param>
/// <returns>A task that returns the response bytes.</returns>
public Task<byte[]> SendAsync(byte unitId, byte[] pdu, CancellationToken ct)
{
if (pdu[0] == 0x03) Interlocked.Increment(ref ProbeCount);
@@ -39,6 +47,8 @@ public sealed class ModbusProbeTests
return Task.FromException<byte[]>(new NotSupportedException());
}
/// <summary>Asynchronously disposes the transport.</summary>
/// <returns>A completed task.</returns>
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
}
@@ -49,6 +59,7 @@ public sealed class ModbusProbeTests
return (new ModbusDriver(opts, "modbus-1", _ => fake), fake);
}
/// <summary>Verifies that the initial state is Unknown before the first probe tick.</summary>
[Fact]
public async Task Initial_state_is_Unknown_before_first_probe_tick()
{
@@ -61,6 +72,7 @@ public sealed class ModbusProbeTests
statuses[0].HostName.ShouldBe("fake:502");
}
/// <summary>Verifies that the first successful probe transitions the state to Running.</summary>
[Fact]
public async Task First_successful_probe_transitions_to_Running()
{
@@ -92,6 +104,7 @@ public sealed class ModbusProbeTests
await drv.ShutdownAsync(CancellationToken.None);
}
/// <summary>Verifies that a transport failure transitions the state to Stopped.</summary>
[Fact]
public async Task Transport_failure_transitions_to_Stopped()
{
@@ -114,6 +127,7 @@ public sealed class ModbusProbeTests
await drv.ShutdownAsync(CancellationToken.None);
}
/// <summary>Verifies that recovery transitions the state from Stopped back to Running.</summary>
[Fact]
public async Task Recovery_transitions_Stopped_back_to_Running()
{
@@ -140,6 +154,7 @@ public sealed class ModbusProbeTests
await drv.ShutdownAsync(CancellationToken.None);
}
/// <summary>Verifies that repeated successful probes do not generate duplicate Running events.</summary>
[Fact]
public async Task Repeated_successful_probes_do_not_generate_duplicate_Running_events()
{
@@ -160,6 +175,7 @@ public sealed class ModbusProbeTests
await drv.ShutdownAsync(CancellationToken.None);
}
/// <summary>Verifies that a disabled probe stays Unknown and fires no events.</summary>
[Fact]
public async Task Disabled_probe_stays_Unknown_and_fires_no_events()
{
@@ -175,6 +191,7 @@ public sealed class ModbusProbeTests
await drv.ShutdownAsync(CancellationToken.None);
}
/// <summary>Verifies that shutdown stops the probe loop.</summary>
[Fact]
public async Task Shutdown_stops_the_probe_loop()
{