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
@@ -23,6 +23,7 @@ public sealed class TwinCATReadWriteTests
// ---- Read ----
/// <summary>Verifies that an unknown reference maps to BadNodeIdUnknown status.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Unknown_reference_maps_to_BadNodeIdUnknown()
{
@@ -34,6 +35,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that a successful DInt read returns Good status and the correct value.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Successful_DInt_read_returns_Good_value()
{
@@ -51,6 +53,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that repeated read operations reuse the same connection.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Repeat_read_reuses_connection()
{
@@ -69,6 +72,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that ADS read errors are mapped via the status mapper.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Read_with_ADS_error_maps_via_status_mapper()
{
@@ -87,6 +91,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that read exceptions surface as BadCommunicationError status.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Read_exception_surfaces_BadCommunicationError()
{
@@ -101,6 +106,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that connect failures surface BadCommunicationError and dispose the client.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Connect_failure_surfaces_BadCommunicationError_and_disposes_client()
{
@@ -115,6 +121,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that batched read operations preserve the order of results.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Batched_reads_preserve_order()
{
@@ -142,6 +149,7 @@ public sealed class TwinCATReadWriteTests
// ---- Write ----
/// <summary>Verifies that non-writable tags are rejected with BadNotWritable status.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Non_writable_tag_rejected_with_BadNotWritable()
{
@@ -155,6 +163,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that successful writes log the symbol, type, and value correctly.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Successful_write_logs_symbol_type_value()
{
@@ -173,6 +182,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that ADS write errors are mapped and surfaced correctly.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Write_with_ADS_error_surfaces_mapped_status()
{
@@ -192,6 +202,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that write exceptions surface as BadCommunicationError status.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Write_exception_surfaces_BadCommunicationError()
{
@@ -206,6 +217,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that batched write operations preserve order across mixed outcomes.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Batch_write_preserves_order_across_outcomes()
{
@@ -236,6 +248,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that cancellation tokens propagate correctly during read operations.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Cancellation_propagates()
{
@@ -253,6 +266,7 @@ public sealed class TwinCATReadWriteTests
}
/// <summary>Verifies that shutdown disposes the client correctly.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task ShutdownAsync_disposes_client()
{