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:
+35
-1
@@ -19,6 +19,7 @@ namespace ZB.MOM.WW.OtOpcUa.Runtime.Tests.Observability;
|
||||
/// </summary>
|
||||
public sealed class OtOpcUaTelemetryHookTests : RuntimeActorTestBase
|
||||
{
|
||||
/// <summary>Verifies that VirtualTagActor evaluation emits the otopcua_virtualtag_eval counter.</summary>
|
||||
[Fact]
|
||||
public void VirtualTagActor_evaluation_emits_otopcua_virtualtag_eval_counter()
|
||||
{
|
||||
@@ -34,6 +35,7 @@ public sealed class OtOpcUaTelemetryHookTests : RuntimeActorTestBase
|
||||
recorder.WithTag("outcome", "ok").ShouldBeGreaterThanOrEqualTo(1);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that OpcUaPublishActor AttributeValueUpdate emits the sink write counter.</summary>
|
||||
[Fact]
|
||||
public void OpcUaPublishActor_AttributeValueUpdate_emits_sink_write_counter()
|
||||
{
|
||||
@@ -58,6 +60,7 @@ public sealed class OtOpcUaTelemetryHookTests : RuntimeActorTestBase
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>Verifies that RebuildAddressSpace starts an address space rebuild span.</summary>
|
||||
[Fact]
|
||||
public void RebuildAddressSpace_starts_an_address_space_rebuild_span()
|
||||
{
|
||||
@@ -95,6 +98,8 @@ public sealed class OtOpcUaTelemetryHookTests : RuntimeActorTestBase
|
||||
private readonly List<KeyValuePair<string, object?>[]> _tagSets = new();
|
||||
private readonly object _gate = new();
|
||||
|
||||
/// <summary>Initializes the recorder for the specified instrument name.</summary>
|
||||
/// <param name="instrumentName">Name of the instrument to listen for.</param>
|
||||
public MeterRecorder(string instrumentName)
|
||||
{
|
||||
_name = instrumentName;
|
||||
@@ -117,8 +122,12 @@ public sealed class OtOpcUaTelemetryHookTests : RuntimeActorTestBase
|
||||
_listener.Start();
|
||||
}
|
||||
|
||||
/// <summary>Gets the total value recorded.</summary>
|
||||
public long Total { get { lock (_gate) return _total; } }
|
||||
|
||||
/// <summary>Gets count of measurements with the specified tag key-value pair.</summary>
|
||||
/// <param name="key">Tag key.</param>
|
||||
/// <param name="value">Tag value.</param>
|
||||
public int WithTag(string key, string value)
|
||||
{
|
||||
lock (_gate)
|
||||
@@ -127,7 +136,8 @@ public sealed class OtOpcUaTelemetryHookTests : RuntimeActorTestBase
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose() => _listener.Dispose();
|
||||
/// <summary>Releases the listener.</summary>
|
||||
public void Dispose() => _listener.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>Listens to a single ActivitySource by name and stores started Activities.</summary>
|
||||
@@ -138,6 +148,8 @@ public sealed class OtOpcUaTelemetryHookTests : RuntimeActorTestBase
|
||||
private readonly List<Activity> _activities = new();
|
||||
private readonly object _gate = new();
|
||||
|
||||
/// <summary>Initializes the recorder for the specified operation name.</summary>
|
||||
/// <param name="operationName">Name of the operation to listen for.</param>
|
||||
public ActivityRecorder(string operationName)
|
||||
{
|
||||
_operationName = operationName;
|
||||
@@ -156,23 +168,45 @@ public sealed class OtOpcUaTelemetryHookTests : RuntimeActorTestBase
|
||||
ActivitySource.AddActivityListener(_listener);
|
||||
}
|
||||
|
||||
/// <summary>Gets the list of recorded activities.</summary>
|
||||
public IReadOnlyList<Activity> Activities { get { lock (_gate) return _activities.ToArray(); } }
|
||||
|
||||
/// <summary>Releases the listener.</summary>
|
||||
public void Dispose() => _listener.Dispose();
|
||||
}
|
||||
|
||||
private sealed class ConstEval(object? value) : IVirtualTagEvaluator
|
||||
{
|
||||
/// <summary>Evaluates the virtual tag with a constant value.</summary>
|
||||
/// <param name="virtualTagId">Virtual tag ID.</param>
|
||||
/// <param name="expression">Expression to evaluate.</param>
|
||||
/// <param name="dependencies">Dependency values.</param>
|
||||
public VirtualTagEvalResult Evaluate(string virtualTagId, string expression, IReadOnlyDictionary<string, object?> dependencies)
|
||||
=> VirtualTagEvalResult.Ok(value);
|
||||
}
|
||||
|
||||
private sealed class RecordingSink : IOpcUaAddressSpaceSink
|
||||
{
|
||||
/// <summary>Gets the write count.</summary>
|
||||
public int Writes { get; private set; }
|
||||
/// <summary>Records a value write.</summary>
|
||||
/// <param name="nodeId">The OPC UA node identifier.</param>
|
||||
/// <param name="value">The value being written.</param>
|
||||
/// <param name="quality">The OPC UA quality status.</param>
|
||||
/// <param name="sourceTimestampUtc">The source timestamp in UTC.</param>
|
||||
public void WriteValue(string nodeId, object? value, OpcUaQuality quality, DateTime sourceTimestampUtc) => Writes++;
|
||||
/// <summary>Records an alarm state write.</summary>
|
||||
/// <param name="alarmNodeId">The alarm node identifier.</param>
|
||||
/// <param name="active">Whether the alarm is active.</param>
|
||||
/// <param name="acknowledged">Whether the alarm is acknowledged.</param>
|
||||
/// <param name="occurredUtc">The time the alarm occurred in UTC.</param>
|
||||
public void WriteAlarmState(string alarmNodeId, bool active, bool acknowledged, DateTime occurredUtc) => Writes++;
|
||||
/// <summary>Ensures folder exists (stub implementation).</summary>
|
||||
/// <param name="folderNodeId">The folder node identifier.</param>
|
||||
/// <param name="parentNodeId">The parent folder node identifier.</param>
|
||||
/// <param name="displayName">The display name for the folder.</param>
|
||||
public void EnsureFolder(string folderNodeId, string? parentNodeId, string displayName) { }
|
||||
/// <summary>Rebuilds address space (recorded via span).</summary>
|
||||
public void RebuildAddressSpace() { /* recorded via span */ }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user