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
@@ -14,6 +14,9 @@ public sealed class ModbusFamilyParserTests
|
||||
{
|
||||
// ----- DL205 native: V-memory (octal), Y/C/X/SP coils + discrete -----
|
||||
|
||||
/// <summary>Verifies DL205 user V-memory addresses map to holding registers.</summary>
|
||||
/// <param name="addr">The V-memory address.</param>
|
||||
/// <param name="expectedOffset">The expected holding register offset.</param>
|
||||
[Theory]
|
||||
[InlineData("V0", 0)]
|
||||
[InlineData("V2000", 1024)] // octal 2000 = decimal 1024
|
||||
@@ -30,6 +33,9 @@ public sealed class ModbusFamilyParserTests
|
||||
// plain octal decode — the CPU relocates the system bank to Modbus PDU 0x2100. Octal-decoding
|
||||
// V40400 yields 16640 (0x4100), the WRONG register. Per docs/v2/dl205.md §V-Memory Addressing,
|
||||
// V40400 must map to PDU 0x2100 (decimal 8448) and the bank is contiguous from there.
|
||||
/// <summary>Verifies DL205 system V-memory addresses map to the system bank in holding registers.</summary>
|
||||
/// <param name="addr">The V-memory address.</param>
|
||||
/// <param name="expectedOffset">The expected holding register offset.</param>
|
||||
[Theory]
|
||||
[InlineData("V40400", 0x2100)] // system base
|
||||
[InlineData("V40401", 0x2101)] // next register — contiguous, +1 decimal
|
||||
@@ -42,6 +48,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.DataType.ShouldBe(ModbusDataType.Int16);
|
||||
}
|
||||
|
||||
/// <summary>Verifies system V-memory helper correctly routes through system bank.</summary>
|
||||
[Fact]
|
||||
public void DL205_SystemVMemory_Helper_Routes_Through_SystemBank()
|
||||
{
|
||||
@@ -52,6 +59,7 @@ public sealed class ModbusFamilyParserTests
|
||||
DirectLogicAddress.UserVMemoryToPdu("V40400").ShouldBe((ushort)16640); // plain octal decode — user-bank only
|
||||
}
|
||||
|
||||
/// <summary>Verifies DL205 Y output addresses map to coils bank.</summary>
|
||||
[Fact]
|
||||
public void DL205_Y_Output_Maps_To_Coils_Bank()
|
||||
{
|
||||
@@ -61,6 +69,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.DataType.ShouldBe(ModbusDataType.Bool);
|
||||
}
|
||||
|
||||
/// <summary>Verifies DL205 C control relay addresses map to coils bank, not Modicon coil.</summary>
|
||||
[Fact]
|
||||
public void DL205_C_Relay_Maps_To_Coils_Bank_NotModiconCoil()
|
||||
{
|
||||
@@ -71,6 +80,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.Offset.ShouldBe((ushort)(3072 + 64));
|
||||
}
|
||||
|
||||
/// <summary>Verifies DL205 X input addresses map to discrete inputs.</summary>
|
||||
[Fact]
|
||||
public void DL205_X_Input_Maps_To_DiscreteInputs()
|
||||
{
|
||||
@@ -79,6 +89,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.Offset.ShouldBe((ushort)15); // octal 17 = decimal 15
|
||||
}
|
||||
|
||||
/// <summary>Verifies DL205 SP special relay addresses map to discrete inputs.</summary>
|
||||
[Fact]
|
||||
public void DL205_SP_Special_Relay_Maps_To_DiscreteInputs()
|
||||
{
|
||||
@@ -87,6 +98,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.Offset.ShouldBe((ushort)(1024 + 8)); // SpecialBaseDiscrete + octal(10)
|
||||
}
|
||||
|
||||
/// <summary>Verifies DL205 parser falls back to Modicon when native parsing fails.</summary>
|
||||
[Fact]
|
||||
public void DL205_Falls_Back_To_Modicon_When_Native_Misses()
|
||||
{
|
||||
@@ -99,6 +111,7 @@ public sealed class ModbusFamilyParserTests
|
||||
|
||||
// ----- MELSEC native: D / X / Y / M with sub-family-aware X/Y parsing -----
|
||||
|
||||
/// <summary>Verifies MELSEC D register addresses map to holding registers.</summary>
|
||||
[Fact]
|
||||
public void MELSEC_D_Register_Maps_To_HoldingRegisters()
|
||||
{
|
||||
@@ -107,6 +120,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.Offset.ShouldBe((ushort)100); // base 0 + decimal 100
|
||||
}
|
||||
|
||||
/// <summary>Verifies MELSEC M relay addresses map to coils with decimal format.</summary>
|
||||
[Fact]
|
||||
public void MELSEC_M_Relay_Maps_To_Coils_Decimal()
|
||||
{
|
||||
@@ -115,6 +129,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.Offset.ShouldBe((ushort)50);
|
||||
}
|
||||
|
||||
/// <summary>Verifies MELSEC Q family treats X addresses as hexadecimal.</summary>
|
||||
[Fact]
|
||||
public void MELSEC_Q_Family_Treats_X20_As_Hex()
|
||||
{
|
||||
@@ -123,6 +138,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.Offset.ShouldBe((ushort)0x20); // hex 20 = decimal 32
|
||||
}
|
||||
|
||||
/// <summary>Verifies MELSEC F family treats X addresses as octal.</summary>
|
||||
[Fact]
|
||||
public void MELSEC_F_Family_Treats_X20_As_Octal()
|
||||
{
|
||||
@@ -133,6 +149,7 @@ public sealed class ModbusFamilyParserTests
|
||||
|
||||
// ----- Cross-family safety / Generic regression -----
|
||||
|
||||
/// <summary>Verifies Generic family does not try DL205 native parsing.</summary>
|
||||
[Fact]
|
||||
public void Generic_Family_Does_Not_Try_DL205_Branch()
|
||||
{
|
||||
@@ -143,6 +160,7 @@ public sealed class ModbusFamilyParserTests
|
||||
error.ShouldNotBeNull();
|
||||
}
|
||||
|
||||
/// <summary>Verifies C100 under Generic family means Modicon coil 99.</summary>
|
||||
[Fact]
|
||||
public void C100_Under_Generic_Means_Modicon_Coil_99()
|
||||
{
|
||||
@@ -153,6 +171,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.Offset.ShouldBe((ushort)99);
|
||||
}
|
||||
|
||||
/// <summary>Verifies suffix grammar composes correctly with native addresses.</summary>
|
||||
[Fact]
|
||||
public void Suffix_Grammar_Composes_With_Native_Address()
|
||||
{
|
||||
@@ -165,6 +184,7 @@ public sealed class ModbusFamilyParserTests
|
||||
p.ArrayCount.ShouldBe(5);
|
||||
}
|
||||
|
||||
/// <summary>Verifies DL205 bit suffix works on V-memory addresses.</summary>
|
||||
[Fact]
|
||||
public void DL205_Bit_Suffix_On_VMemory()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user