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
@@ -21,6 +21,7 @@ public sealed class TwinCATLowFindingsRegressionTests
// ---- Driver.TwinCAT-004 — TIME/DATE/DT/TOD surface unchanged but comments corrected ----
/// <summary>Verifies that IEC time types map to uint32 raw counters.</summary>
[Fact]
public void Iec_time_types_map_to_uint32_raw_counter()
{
@@ -35,6 +36,7 @@ public sealed class TwinCATLowFindingsRegressionTests
// ---- Driver.TwinCAT-006 — ResolveHost sentinel when no devices are configured ----
/// <summary>Verifies that ResolveHost returns an unresolved sentinel when no devices are configured.</summary>
[Fact]
public async Task ResolveHost_returns_unresolved_sentinel_when_no_devices()
{
@@ -48,6 +50,7 @@ public sealed class TwinCATLowFindingsRegressionTests
drv.ResolveHost("anything").ShouldBe(string.Empty);
}
/// <summary>Verifies that the unresolved sentinel does not match any GetHostStatuses entry.</summary>
[Fact]
public async Task ResolveHost_unresolved_sentinel_matches_no_GetHostStatuses_entry()
{
@@ -61,6 +64,7 @@ public sealed class TwinCATLowFindingsRegressionTests
// ---- Driver.TwinCAT-014 — config surface knobs are honoured ----
/// <summary>Verifies that ProbeOptions.Timeout is applied to probe calls.</summary>
[Fact]
public async Task ProbeOptions_Timeout_is_applied_to_probe_calls()
{
@@ -90,6 +94,7 @@ public sealed class TwinCATLowFindingsRegressionTests
observed.ShouldContain(TimeSpan.FromMilliseconds(750));
}
/// <summary>Verifies that NotificationMaxDelayMs is exposed on driver options.</summary>
[Fact]
public void NotificationMaxDelayMs_is_exposed_on_driver_options()
{
@@ -100,6 +105,7 @@ public sealed class TwinCATLowFindingsRegressionTests
options.NotificationMaxDelayMs.ShouldBe(200);
}
/// <summary>Verifies that NotificationMaxDelayMs parses from driver configuration JSON.</summary>
[Fact]
public void NotificationMaxDelayMs_parses_from_driver_config_json()
{
@@ -114,6 +120,7 @@ public sealed class TwinCATLowFindingsRegressionTests
// ---- Driver.TwinCAT-015 — Dispose runs a true synchronous teardown ----
/// <summary>Verifies that Dispose does not block on async operations in the default synchronization context.</summary>
[Fact]
public void Dispose_does_not_block_on_async_in_default_synchronization_context()
{
@@ -166,12 +173,16 @@ public sealed class TwinCATLowFindingsRegressionTests
private sealed class SingleThreadedSyncContext : SynchronizationContext
{
private readonly System.Collections.Concurrent.ConcurrentQueue<(SendOrPostCallback cb, object? state)> _queue = new();
/// <inheritdoc />
public override void Post(SendOrPostCallback d, object? state) => _queue.Enqueue((d, state));
/// <inheritdoc />
public override void Send(SendOrPostCallback d, object? state) => d(state);
}
// ---- Driver.TwinCAT-016 — gap-fill tests for previously closed findings ----
/// <summary>Verifies that structure-typed pre-declared tags are rejected at configuration parse time.</summary>
[Fact]
public void Structure_typed_pre_declared_tag_is_rejected_at_config_parse()
{
@@ -197,6 +208,7 @@ public sealed class TwinCATLowFindingsRegressionTests
ex.Message.ShouldContain("Udt1");
}
/// <summary>Verifies that the probe loop and read operations share one client per device.</summary>
[Fact]
public async Task Probe_loop_and_read_share_one_client_per_device()
{
@@ -250,8 +262,12 @@ public sealed class TwinCATLowFindingsRegressionTests
private sealed class ProbeTimeoutCapturingFake : FakeTwinCATClient
{
private readonly List<TimeSpan> _observed;
/// <summary>Initializes a new instance of the ProbeTimeoutCapturingFake class.</summary>
/// <param name="observed">The list to store observed timeout values.</param>
public ProbeTimeoutCapturingFake(List<TimeSpan> observed) { _observed = observed; }
/// <inheritdoc />
public override Task ConnectAsync(TwinCATAmsAddress address, TimeSpan timeout, CancellationToken ct)
{
// The driver calls EnsureConnectedAsync with the probe timeout for probe-initiated