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:
@@ -22,6 +22,7 @@ public sealed class ModbusArrayTests
|
||||
}
|
||||
|
||||
/// <summary>Verifies reading an Int16 array returns a typed array.</summary>
|
||||
/// <returns>A task that represents the asynchronous test operation.</returns>
|
||||
[Fact]
|
||||
public async Task Read_Int16_Array_Returns_Typed_Array()
|
||||
{
|
||||
@@ -36,6 +37,7 @@ public sealed class ModbusArrayTests
|
||||
}
|
||||
|
||||
/// <summary>Verifies reading a Float32 array with word swap returns a typed array.</summary>
|
||||
/// <returns>A task that represents the asynchronous test operation.</returns>
|
||||
[Fact]
|
||||
public async Task Read_Float32_Array_Returns_Typed_Array_With_WordSwap()
|
||||
{
|
||||
@@ -63,6 +65,7 @@ public sealed class ModbusArrayTests
|
||||
}
|
||||
|
||||
/// <summary>Verifies reading a coil array returns a bool array.</summary>
|
||||
/// <returns>A task that represents the asynchronous test operation.</returns>
|
||||
[Fact]
|
||||
public async Task Read_Coil_Array_Returns_Bool_Array()
|
||||
{
|
||||
@@ -78,6 +81,7 @@ public sealed class ModbusArrayTests
|
||||
}
|
||||
|
||||
/// <summary>Verifies writing an Int16 array lands contiguously in the register bank.</summary>
|
||||
/// <returns>A task that represents the asynchronous test operation.</returns>
|
||||
[Fact]
|
||||
public async Task Write_Int16_Array_Lands_Contiguous_In_Bank()
|
||||
{
|
||||
@@ -96,6 +100,7 @@ public sealed class ModbusArrayTests
|
||||
}
|
||||
|
||||
/// <summary>Verifies writing a coil array packs bits in LSB-first order.</summary>
|
||||
/// <returns>A task that represents the asynchronous test operation.</returns>
|
||||
[Fact]
|
||||
public async Task Write_Coil_Array_Packs_LSB_First()
|
||||
{
|
||||
@@ -114,6 +119,7 @@ public sealed class ModbusArrayTests
|
||||
}
|
||||
|
||||
/// <summary>Verifies writing an array with mismatched length surfaces an error.</summary>
|
||||
/// <returns>A task that represents the asynchronous test operation.</returns>
|
||||
[Fact]
|
||||
public async Task Write_Array_Mismatch_Length_Surfaces_Error()
|
||||
{
|
||||
@@ -129,6 +135,7 @@ public sealed class ModbusArrayTests
|
||||
}
|
||||
|
||||
/// <summary>Verifies discovery surfaces IsArray and ArrayDim correctly.</summary>
|
||||
/// <returns>A task that represents the asynchronous test operation.</returns>
|
||||
[Fact]
|
||||
public async Task Discovery_Surfaces_IsArray_And_ArrayDim()
|
||||
{
|
||||
@@ -145,6 +152,7 @@ public sealed class ModbusArrayTests
|
||||
}
|
||||
|
||||
/// <summary>Verifies scalar tag discovery keeps IsArray false.</summary>
|
||||
/// <returns>A task that represents the asynchronous test operation.</returns>
|
||||
[Fact]
|
||||
public async Task Scalar_Tag_Discovery_Stays_NonArray()
|
||||
{
|
||||
@@ -164,39 +172,27 @@ public sealed class ModbusArrayTests
|
||||
/// <param name="captured">List to capture discovered attributes into.</param>
|
||||
private sealed class RecordingBuilder(List<DriverAttributeInfo> captured) : IAddressSpaceBuilder
|
||||
{
|
||||
/// <summary>Creates a folder in the address space.</summary>
|
||||
/// <param name="browseName">The browse name of the folder.</param>
|
||||
/// <param name="displayName">The display name of the folder.</param>
|
||||
/// <returns>This builder instance.</returns>
|
||||
/// <inheritdoc />
|
||||
public IAddressSpaceBuilder Folder(string browseName, string displayName) => this;
|
||||
|
||||
/// <summary>Creates a variable in the address space.</summary>
|
||||
/// <param name="browseName">The browse name of the variable.</param>
|
||||
/// <param name="displayName">The display name of the variable.</param>
|
||||
/// <param name="attributeInfo">The attribute information.</param>
|
||||
/// <returns>A variable handle.</returns>
|
||||
/// <inheritdoc />
|
||||
public IVariableHandle Variable(string browseName, string displayName, DriverAttributeInfo attributeInfo)
|
||||
{
|
||||
captured.Add(attributeInfo);
|
||||
return new StubHandle(browseName);
|
||||
}
|
||||
|
||||
/// <summary>Adds a property to the current node.</summary>
|
||||
/// <param name="browseName">The browse name of the property.</param>
|
||||
/// <param name="dataType">The data type of the property.</param>
|
||||
/// <param name="value">The property value.</param>
|
||||
/// <inheritdoc />
|
||||
public void AddProperty(string browseName, DriverDataType dataType, object? value) { }
|
||||
|
||||
/// <summary>Stub variable handle for testing.</summary>
|
||||
/// <param name="fullRef">The full reference of the handle.</param>
|
||||
private sealed class StubHandle(string fullRef) : IVariableHandle
|
||||
{
|
||||
/// <summary>Gets the full reference.</summary>
|
||||
/// <inheritdoc />
|
||||
public string FullReference => fullRef;
|
||||
|
||||
/// <summary>Marks this variable as an alarm condition.</summary>
|
||||
/// <param name="info">The alarm condition information.</param>
|
||||
/// <returns>An alarm condition sink.</returns>
|
||||
/// <inheritdoc />
|
||||
public IAlarmConditionSink MarkAsAlarmCondition(AlarmConditionInfo info)
|
||||
=> throw new NotSupportedException("RecordingBuilder doesn't model alarms");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user