feat(s7): byte-buffer codec dispatch + Int64/UInt64/LReal scalar read+write
This commit is contained in:
@@ -171,23 +171,7 @@ public sealed class S7ArrayReadTests
|
||||
|
||||
// ── Discovery — IsArray / ArrayDim flip ───────────────────────────────────────────────
|
||||
|
||||
private sealed class RecordingBuilder : IAddressSpaceBuilder
|
||||
{
|
||||
public readonly List<(string Name, DriverAttributeInfo Attr)> Variables = new();
|
||||
public IAddressSpaceBuilder Folder(string browseName, string displayName) => this;
|
||||
public IVariableHandle Variable(string browseName, string displayName, DriverAttributeInfo attr)
|
||||
{
|
||||
Variables.Add((browseName, attr));
|
||||
return new Handle();
|
||||
}
|
||||
public void AddProperty(string browseName, DriverDataType dataType, object? value) { }
|
||||
public void AttachAlarmCondition(IVariableHandle sourceVariable, string alarmName, DriverAttributeInfo alarmInfo) { }
|
||||
private sealed class Handle : IVariableHandle
|
||||
{
|
||||
public string FullReference => "stub";
|
||||
public IAlarmConditionSink MarkAsAlarmCondition(AlarmConditionInfo info) => throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
// RecordingAddressSpaceBuilder lives in S7TestBuilders.cs — shared across the S7 test suite.
|
||||
|
||||
/// <summary>Verifies an array tag is discovered with IsArray=true and ArrayDim=count.</summary>
|
||||
[Fact]
|
||||
@@ -204,7 +188,7 @@ public sealed class S7ArrayReadTests
|
||||
};
|
||||
using var drv = new S7Driver(opts, "s7-arr-disco");
|
||||
|
||||
var builder = new RecordingBuilder();
|
||||
var builder = new RecordingAddressSpaceBuilder();
|
||||
await drv.DiscoverAsync(builder, TestContext.Current.CancellationToken);
|
||||
|
||||
var scalar = builder.Variables.Single(v => v.Name == "Scalar").Attr;
|
||||
@@ -229,7 +213,7 @@ public sealed class S7ArrayReadTests
|
||||
};
|
||||
using var drv = new S7Driver(opts, "s7-arr-one");
|
||||
|
||||
var builder = new RecordingBuilder();
|
||||
var builder = new RecordingAddressSpaceBuilder();
|
||||
await drv.DiscoverAsync(builder, TestContext.Current.CancellationToken);
|
||||
|
||||
var one = builder.Variables.Single().Attr;
|
||||
@@ -248,7 +232,7 @@ public sealed class S7ArrayReadTests
|
||||
};
|
||||
using var drv = new S7Driver(opts, "s7-arr-null");
|
||||
|
||||
var builder = new RecordingBuilder();
|
||||
var builder = new RecordingAddressSpaceBuilder();
|
||||
await drv.DiscoverAsync(builder, TestContext.Current.CancellationToken);
|
||||
|
||||
var scalar = builder.Variables.Single().Attr;
|
||||
|
||||
Reference in New Issue
Block a user