docs: complete XML doc comments via fixdocs (2757 to 131 findings)

Add missing <returns>/<param>/<summary>/<typeparam> tags and clean up
misused inheritdoc across 481 files so the documented API surface is
complete. Documentation-only (zero code lines changed). The 131 remaining
findings are inheritdoc-style warnings deliberately left to preserve
hand-written implementation rationale (plan-decision notes, race-condition
explanations).
This commit is contained in:
Joseph Doherty
2026-06-03 12:34:34 -04:00
parent c6d9b20d9f
commit bd6c0b4d3d
481 changed files with 2550 additions and 1668 deletions
@@ -10,6 +10,7 @@ namespace ZB.MOM.WW.OtOpcUa.Core.Tests.Stability;
public sealed class MemoryRecycleTests
{
/// <summary>Verifies that Tier C hard memory breach requests supervisor recycle.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task TierC_HardBreach_RequestsSupervisorRecycle()
{
@@ -25,6 +26,7 @@ public sealed class MemoryRecycleTests
/// <summary>Verifies that Tier A and B hard memory breach never request recycle.</summary>
/// <param name="tier">The driver tier to test.</param>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Theory]
[InlineData(DriverTier.A)]
[InlineData(DriverTier.B)]
@@ -40,6 +42,7 @@ public sealed class MemoryRecycleTests
}
/// <summary>Verifies that Tier C without supervisor hard breach is a no-op.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task TierC_WithoutSupervisor_HardBreach_NoOp()
{
@@ -52,6 +55,7 @@ public sealed class MemoryRecycleTests
/// <summary>Verifies that soft memory breach never requests recycle at any tier.</summary>
/// <param name="tier">The driver tier to test.</param>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Theory]
[InlineData(DriverTier.A)]
[InlineData(DriverTier.B)]
@@ -69,6 +73,7 @@ public sealed class MemoryRecycleTests
/// <summary>Verifies that non-breach memory actions are no-ops.</summary>
/// <param name="action">The non-breach memory tracking action to test.</param>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Theory]
[InlineData(MemoryTrackingAction.None)]
[InlineData(MemoryTrackingAction.Warming)]
@@ -85,16 +90,14 @@ public sealed class MemoryRecycleTests
private sealed class FakeSupervisor : IDriverSupervisor
{
/// <summary>Gets the driver instance identifier.</summary>
/// <inheritdoc />
public string DriverInstanceId => "fake-tier-c";
/// <summary>Gets the count of recycle operations.</summary>
public int RecycleCount { get; private set; }
/// <summary>Gets the reason from the last recycle operation.</summary>
public string? LastReason { get; private set; }
/// <summary>Recycles the driver asynchronously.</summary>
/// <param name="reason">The reason for recycling.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <inheritdoc />
public Task RecycleAsync(string reason, CancellationToken cancellationToken)
{
RecycleCount++;
@@ -36,6 +36,7 @@ public sealed class ScheduledRecycleSchedulerTests
}
/// <summary>Verifies Tick before the next recycle time is a no-op.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task Tick_BeforeNextRecycle_NoOp()
{
@@ -49,6 +50,7 @@ public sealed class ScheduledRecycleSchedulerTests
}
/// <summary>Verifies Tick at or after the next recycle time fires once and advances.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task Tick_AtOrAfterNextRecycle_FiresOnce_AndAdvances()
{
@@ -63,6 +65,7 @@ public sealed class ScheduledRecycleSchedulerTests
}
/// <summary>Verifies RequestRecycleNow fires immediately without advancing the schedule.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task RequestRecycleNow_Fires_Immediately_WithoutAdvancingSchedule()
{
@@ -78,6 +81,7 @@ public sealed class ScheduledRecycleSchedulerTests
}
/// <summary>Verifies multiple ticks across the recycle interval each advance by one interval.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task MultipleFires_AcrossTicks_AdvanceOneIntervalEach()
{
@@ -95,7 +99,7 @@ public sealed class ScheduledRecycleSchedulerTests
/// <summary>Fake driver supervisor for testing.</summary>
private sealed class FakeSupervisor : IDriverSupervisor
{
/// <summary>Gets the driver instance ID.</summary>
/// <inheritdoc />
public string DriverInstanceId => "tier-c-fake";
/// <summary>Gets the number of times RecycleAsync was called.</summary>
@@ -104,10 +108,7 @@ public sealed class ScheduledRecycleSchedulerTests
/// <summary>Gets the reason from the most recent recycle call.</summary>
public string? LastReason { get; private set; }
/// <summary>Simulates a driver recycle operation.</summary>
/// <param name="reason">The reason for the recycle.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A completed task.</returns>
/// <inheritdoc />
public Task RecycleAsync(string reason, CancellationToken cancellationToken)
{
RecycleCount++;