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:
@@ -7,6 +7,13 @@ namespace ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Tests;
|
||||
[Trait("Category", "Unit")]
|
||||
public sealed class AbLegacyAddressTests
|
||||
{
|
||||
/// <summary>Verifies that TryParse accepts valid PCCC addresses.</summary>
|
||||
/// <param name="input">The raw PCCC address string to parse.</param>
|
||||
/// <param name="letter">The expected file letter.</param>
|
||||
/// <param name="file">The expected file number, or null for I/O/S files.</param>
|
||||
/// <param name="word">The expected word number.</param>
|
||||
/// <param name="bit">The expected bit index, or null if no bit is specified.</param>
|
||||
/// <param name="sub">The expected sub-element name, or null if absent.</param>
|
||||
[Theory]
|
||||
[InlineData("N7:0", "N", 7, 0, null, null)]
|
||||
[InlineData("N7:15", "N", 7, 15, null, null)]
|
||||
@@ -34,6 +41,8 @@ public sealed class AbLegacyAddressTests
|
||||
a.SubElement.ShouldBe(sub);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that TryParse rejects invalid address forms.</summary>
|
||||
/// <param name="input">The invalid address string to test, or null.</param>
|
||||
[Theory]
|
||||
[InlineData(null)]
|
||||
[InlineData("")]
|
||||
@@ -51,6 +60,8 @@ public sealed class AbLegacyAddressTests
|
||||
AbLegacyAddress.TryParse(input).ShouldBeNull();
|
||||
}
|
||||
|
||||
/// <summary>Verifies that ToLibplctagName correctly roundtrips addresses.</summary>
|
||||
/// <param name="input">The PCCC address string to roundtrip.</param>
|
||||
[Theory]
|
||||
[InlineData("N7:0")]
|
||||
[InlineData("F8:5")]
|
||||
@@ -68,12 +79,16 @@ public sealed class AbLegacyAddressTests
|
||||
|
||||
// ---- Driver.AbLegacy-003: Parser tightening ----
|
||||
|
||||
/// <summary>Verifies that TryParse rejects addresses with both sub-element and bit index.</summary>
|
||||
/// <param name="input">The PCCC address string to test.</param>
|
||||
[Theory]
|
||||
[InlineData("T4:0.ACC/2")] // sub-element + bit index — never valid in PCCC
|
||||
[InlineData("C5:0.PRE/3")]
|
||||
public void TryParse_rejects_subelement_plus_bitindex(string input) =>
|
||||
AbLegacyAddress.TryParse(input).ShouldBeNull();
|
||||
|
||||
/// <summary>Verifies that TryParse rejects file numbers on system files (I, O, S).</summary>
|
||||
/// <param name="input">The PCCC address string to test.</param>
|
||||
[Theory]
|
||||
[InlineData("I3:0")] // I is a system file — no file number allowed
|
||||
[InlineData("O2:1")]
|
||||
@@ -81,6 +96,8 @@ public sealed class AbLegacyAddressTests
|
||||
public void TryParse_rejects_file_number_on_IOS_files(string input) =>
|
||||
AbLegacyAddress.TryParse(input).ShouldBeNull();
|
||||
|
||||
/// <summary>Verifies that TryParse rejects sub-element specifications on non-structured files.</summary>
|
||||
/// <param name="input">The PCCC address string to test.</param>
|
||||
[Theory]
|
||||
[InlineData("B3:0.DN")] // B (bit) file has no structured elements
|
||||
[InlineData("N7:0.FOO")] // N (integer) file has no structured elements
|
||||
@@ -89,6 +106,8 @@ public sealed class AbLegacyAddressTests
|
||||
public void TryParse_rejects_subelement_on_non_structured_file(string input) =>
|
||||
AbLegacyAddress.TryParse(input).ShouldBeNull();
|
||||
|
||||
/// <summary>Verifies that TryParse accepts sub-element specifications only on T, C, and R files.</summary>
|
||||
/// <param name="input">The PCCC address string to test.</param>
|
||||
[Theory]
|
||||
[InlineData("T4:0.ACC")] // T, C, R are the only structured-element files
|
||||
[InlineData("C5:0.PRE")]
|
||||
@@ -96,6 +115,8 @@ public sealed class AbLegacyAddressTests
|
||||
public void TryParse_accepts_subelement_only_on_TCR_files(string input) =>
|
||||
AbLegacyAddress.TryParse(input).ShouldNotBeNull();
|
||||
|
||||
/// <summary>Verifies that TryParse accepts I, O, and S addresses without file numbers.</summary>
|
||||
/// <param name="input">The PCCC address string to test.</param>
|
||||
[Theory]
|
||||
[InlineData("I:0/0")] // I/O/S without file number are valid
|
||||
[InlineData("O:1/2")]
|
||||
|
||||
Reference in New Issue
Block a user