bd6c0b4d3d
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).
28 lines
1.2 KiB
C#
28 lines
1.2 KiB
C#
using Shouldly;
|
|
using Xunit;
|
|
using ZB.MOM.WW.OtOpcUa.AdminUI.Components.Shared.Drivers.Pickers;
|
|
|
|
namespace ZB.MOM.WW.OtOpcUa.AdminUI.Tests.Pickers;
|
|
|
|
public sealed class ModbusAddressBuilderTests
|
|
{
|
|
/// <summary>Verifies that Build produces canonical Modbus address strings for all supported register types.</summary>
|
|
/// <param name="type">The Modbus register type.</param>
|
|
/// <param name="offset">The register offset.</param>
|
|
/// <param name="length">The data length.</param>
|
|
/// <param name="expected">The expected canonical address string.</param>
|
|
[Theory]
|
|
[InlineData("Holding", 1, 1, "4x00001-1")]
|
|
[InlineData("Coil", 0, 1, "0x00000-1")]
|
|
[InlineData("Holding", 123, 4, "4x00123-4")]
|
|
[InlineData("DiscreteInput", 5, 1, "1x00005-1")]
|
|
[InlineData("Input", 99999, 125, "3x99999-125")]
|
|
public void Build_Canonical(string type, int offset, int length, string expected)
|
|
=> ModbusAddressBuilder.Build(type, offset, length).ShouldBe(expected);
|
|
|
|
/// <summary>Verifies that Build falls back to the Holding register type for unknown type strings.</summary>
|
|
[Fact]
|
|
public void Build_UnknownType_FallsBackToHolding()
|
|
=> ModbusAddressBuilder.Build("Unknown", 1, 1).ShouldBe("4x00001-1");
|
|
}
|