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
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:
+20
@@ -16,6 +16,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
{
|
||||
// ── Parser: empty trailing-field rejection (Driver.Modbus.Addressing-002) ──────────────
|
||||
|
||||
/// <summary>Verifies that a 3-field address with an empty third field is rejected.</summary>
|
||||
[Fact]
|
||||
public void Parser_3field_empty_third_field_rejected()
|
||||
{
|
||||
@@ -27,6 +28,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
error!.ShouldContain("empty");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a 4-field address with an empty third field (byte order) accepts the default.</summary>
|
||||
[Fact]
|
||||
public void Parser_4field_empty_third_field_accepted_as_default_order()
|
||||
{
|
||||
@@ -40,6 +42,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
|
||||
// ── Parser: misplaced type code gives better diagnostic (Driver.Modbus.Addressing-003) ─
|
||||
|
||||
/// <summary>Verifies that a misplaced type code in the third field produces a helpful error.</summary>
|
||||
[Fact]
|
||||
public void Parser_3field_misplaced_type_in_third_field_gives_helpful_error()
|
||||
{
|
||||
@@ -54,6 +57,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
|
||||
// ── Parser: multi-dot input (Driver.Modbus.Addressing-004) ──────────────────────────────
|
||||
|
||||
/// <summary>Verifies that addresses with multiple dots are rejected with a clear error.</summary>
|
||||
[Fact]
|
||||
public void Parser_multi_dot_input_rejected_with_clear_error()
|
||||
{
|
||||
@@ -63,6 +67,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
error.ShouldNotBeNullOrEmpty();
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a decimal point typo produces a precise error.</summary>
|
||||
[Fact]
|
||||
public void Parser_decimal_point_typo_400_01_gives_precise_error()
|
||||
{
|
||||
@@ -76,6 +81,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
|
||||
// ── DirectLogicAddress overflow and boundary (Driver.Modbus.Addressing-008) ────────────
|
||||
|
||||
/// <summary>Verifies that user V-memory overflow throws an OverflowException.</summary>
|
||||
[Fact]
|
||||
public void UserVMemoryToPdu_overflow_throws_OverflowException()
|
||||
{
|
||||
@@ -83,6 +89,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
Should.Throw<OverflowException>(() => DirectLogicAddress.UserVMemoryToPdu("V200000"));
|
||||
}
|
||||
|
||||
/// <summary>Verifies that octal offset overflow via Y throws an OverflowException.</summary>
|
||||
[Fact]
|
||||
public void AddOctalOffset_overflow_via_Y_throws_OverflowException()
|
||||
{
|
||||
@@ -92,6 +99,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
Should.Throw<OverflowException>(() => DirectLogicAddress.YOutputToCoil("Y174000"));
|
||||
}
|
||||
|
||||
/// <summary>Verifies that octal offset overflow via C throws an OverflowException.</summary>
|
||||
[Fact]
|
||||
public void AddOctalOffset_overflow_via_C_throws_OverflowException()
|
||||
{
|
||||
@@ -100,6 +108,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
Should.Throw<OverflowException>(() => DirectLogicAddress.CRelayToCoil("C172000"));
|
||||
}
|
||||
|
||||
/// <summary>Verifies that SystemVMemoryToPdu is exercised and returns the correct base.</summary>
|
||||
[Fact]
|
||||
public void SystemVMemoryToPdu_is_exercised_and_returns_correct_base()
|
||||
{
|
||||
@@ -109,6 +118,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
DirectLogicAddress.SystemVMemoryToPdu(1).ShouldBe((ushort)(DirectLogicAddress.SystemVMemoryBasePdu + 1));
|
||||
}
|
||||
|
||||
/// <summary>Verifies that system V-memory overflow throws an OverflowException.</summary>
|
||||
[Fact]
|
||||
public void SystemVMemoryToPdu_overflow_throws_OverflowException()
|
||||
{
|
||||
@@ -119,6 +129,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
|
||||
// ── MelsecAddress overflow / boundary (Driver.Modbus.Addressing-008) ─────────────────
|
||||
|
||||
/// <summary>Verifies that MELSEC hex address parsing overflow throws an OverflowException.</summary>
|
||||
[Fact]
|
||||
public void MelsecAddress_ParseHex_overflow_throws_OverflowException()
|
||||
{
|
||||
@@ -126,6 +137,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
Should.Throw<OverflowException>(() => MelsecAddress.XInputToDiscrete("X10000", MelsecFamily.Q_L_iQR));
|
||||
}
|
||||
|
||||
/// <summary>Verifies that MELSEC D-register to holding overflow throws an exception.</summary>
|
||||
[Fact]
|
||||
public void MelsecAddress_DRegisterToHolding_overflow_throws_OverflowException()
|
||||
{
|
||||
@@ -133,6 +145,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
Should.Throw<ArgumentException>(() => MelsecAddress.DRegisterToHolding("D65536"));
|
||||
}
|
||||
|
||||
/// <summary>Verifies that MELSEC M-relay to coil overflow throws an OverflowException.</summary>
|
||||
[Fact]
|
||||
public void MelsecAddress_MRelayToCoil_overflow_throws_OverflowException()
|
||||
{
|
||||
@@ -140,6 +153,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
Should.Throw<OverflowException>(() => MelsecAddress.MRelayToCoil("M65535", mBankBase: 1));
|
||||
}
|
||||
|
||||
/// <summary>Verifies that MELSEC D-register bank base overflow throws an OverflowException.</summary>
|
||||
[Fact]
|
||||
public void MelsecAddress_DRegisterToHolding_bank_base_overflow_throws_OverflowException()
|
||||
{
|
||||
@@ -156,6 +170,8 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
// unhandled exception out of a TryParse method. These tests assert the defensive contract
|
||||
// across a broad set of pathological inputs.
|
||||
|
||||
/// <summary>Verifies that DL205 address parsing never throws and returns a structured error.</summary>
|
||||
/// <param name="addr">The address string to parse.</param>
|
||||
[Theory]
|
||||
[InlineData("V")] // V prefix with no digits
|
||||
[InlineData("V99999999999999")] // overflow in user V-memory octal decode
|
||||
@@ -181,6 +197,8 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
error.ShouldNotBeNullOrEmpty();
|
||||
}
|
||||
|
||||
/// <summary>Verifies that MELSEC address parsing never throws and returns a structured error.</summary>
|
||||
/// <param name="addr">The address string to parse.</param>
|
||||
[Theory]
|
||||
[InlineData("D")] // D prefix alone — no digits
|
||||
[InlineData("D-1")] // negative — would fail ushort.TryParse, must not throw
|
||||
@@ -207,6 +225,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
// is the canonical config path. These tests pin that contract so a future grammar change
|
||||
// can't quietly add a token that conflicts with the array-count slot.
|
||||
|
||||
/// <summary>Verifies that the parser's STR grammar does not carry StringByteOrder.</summary>
|
||||
[Fact]
|
||||
public void Parser_STR_grammar_does_not_carry_StringByteOrder()
|
||||
{
|
||||
@@ -224,6 +243,7 @@ public sealed class ModbusAddressEdgeCaseTests
|
||||
.ShouldBeNull();
|
||||
}
|
||||
|
||||
/// <summary>Verifies that the parser rejects unknown string byte order tokens in the grammar.</summary>
|
||||
[Fact]
|
||||
public void Parser_rejects_unknown_string_byte_order_token_in_grammar()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user