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
@@ -14,6 +14,7 @@ namespace ZB.MOM.WW.OtOpcUa.Core.Tests.Resilience;
[Trait("Category", "Integration")]
public sealed class FlakeyDriverIntegrationTests
{
/// <summary>Verifies read succeeds after transient failures with retries.</summary>
[Fact]
public async Task Read_SurfacesSuccess_AfterTransientFailures()
{
@@ -41,6 +42,7 @@ public sealed class FlakeyDriverIntegrationTests
result[0].StatusCode.ShouldBe(0u);
}
/// <summary>Verifies non-idempotent write fails on first failure without replay.</summary>
[Fact]
public async Task Write_NonIdempotent_FailsOnFirstFailure_NoReplay()
{
@@ -65,6 +67,7 @@ public sealed class FlakeyDriverIntegrationTests
flaky.WriteAttempts.ShouldBe(1, "non-idempotent write must never replay (decision #44)");
}
/// <summary>Verifies idempotent write retries until success.</summary>
[Fact]
public async Task Write_Idempotent_RetriesUntilSuccess()
{
@@ -89,6 +92,7 @@ public sealed class FlakeyDriverIntegrationTests
results[0].StatusCode.ShouldBe(0u);
}
/// <summary>Verifies multiple hosts have independent failure counts and circuit breakers.</summary>
[Fact]
public async Task MultipleHosts_OnOneDriver_HaveIndependentFailureCounts()
{
@@ -116,20 +120,31 @@ public sealed class FlakeyDriverIntegrationTests
liveAttempts.ShouldBe(1);
}
/// <summary>Driver that fails reads/writes for a configurable number of attempts.</summary>
private sealed class FlakeyDriver : IReadable, IWritable
{
private readonly int _failReadsBeforeIndex;
private readonly int _failWritesBeforeIndex;
/// <summary>Gets the number of read attempts made.</summary>
public int ReadAttempts { get; private set; }
/// <summary>Gets the number of write attempts made.</summary>
public int WriteAttempts { get; private set; }
/// <summary>Initializes a flaky driver with configurable failure counts.</summary>
/// <param name="failReadsBeforeIndex">Fail reads until this attempt number.</param>
/// <param name="failWritesBeforeIndex">Fail writes until this attempt number.</param>
public FlakeyDriver(int failReadsBeforeIndex = 0, int failWritesBeforeIndex = 0)
{
_failReadsBeforeIndex = failReadsBeforeIndex;
_failWritesBeforeIndex = failWritesBeforeIndex;
}
/// <summary>Reads values, failing transiently until the threshold.</summary>
/// <param name="fullReferences">Full references to read.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Data value snapshots.</returns>
public Task<IReadOnlyList<DataValueSnapshot>> ReadAsync(
IReadOnlyList<string> fullReferences,
CancellationToken cancellationToken)
@@ -145,6 +160,10 @@ public sealed class FlakeyDriverIntegrationTests
return Task.FromResult(result);
}
/// <summary>Writes values, failing transiently until the threshold.</summary>
/// <param name="writes">The write requests.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Write results.</returns>
public Task<IReadOnlyList<WriteResult>> WriteAsync(
IReadOnlyList<WriteRequest> writes,
CancellationToken cancellationToken)