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

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:
Joseph Doherty
2026-05-28 08:10:17 -04:00
parent f9fc7dd2e1
commit 64e3fbe035
756 changed files with 9876 additions and 96 deletions
@@ -16,12 +16,14 @@ public sealed class MessageTemplateTests
private static DataValueSnapshot? Resolver(Dictionary<string, DataValueSnapshot> map, string path)
=> map.TryGetValue(path, out var v) ? v : null;
/// <summary>Verifies template with no tokens is returned unchanged.</summary>
[Fact]
public void No_tokens_returns_template_unchanged()
{
MessageTemplate.Resolve("No tokens here", _ => null).ShouldBe("No tokens here");
}
/// <summary>Verifies single token in template is correctly substituted.</summary>
[Fact]
public void Single_token_substituted()
{
@@ -29,6 +31,7 @@ public sealed class MessageTemplateTests
MessageTemplate.Resolve("Temp={Tank/Temp}C", p => Resolver(map, p)).ShouldBe("Temp=75.5C");
}
/// <summary>Verifies multiple tokens in template are all substituted.</summary>
[Fact]
public void Multiple_tokens_substituted()
{
@@ -40,6 +43,7 @@ public sealed class MessageTemplateTests
MessageTemplate.Resolve("{A}/{B}", p => Resolver(map, p)).ShouldBe("10/on");
}
/// <summary>Verifies tokens with bad quality become question marks.</summary>
[Fact]
public void Bad_quality_token_becomes_question_mark()
{
@@ -47,12 +51,14 @@ public sealed class MessageTemplateTests
MessageTemplate.Resolve("value={Bad}", p => Resolver(map, p)).ShouldBe("value={?}");
}
/// <summary>Verifies unknown token paths become question marks.</summary>
[Fact]
public void Unknown_path_becomes_question_mark()
{
MessageTemplate.Resolve("value={DoesNotExist}", _ => null).ShouldBe("value={?}");
}
/// <summary>Verifies null values with good quality become question marks.</summary>
[Fact]
public void Null_value_with_good_quality_becomes_question_mark()
{
@@ -60,6 +66,7 @@ public sealed class MessageTemplateTests
MessageTemplate.Resolve("{X}", p => Resolver(map, p)).ShouldBe("{?}");
}
/// <summary>Verifies tokens containing slashes and dots are correctly resolved.</summary>
[Fact]
public void Tokens_with_slashes_and_dots_resolved()
{
@@ -71,18 +78,21 @@ public sealed class MessageTemplateTests
.ShouldBe("rpm=1200");
}
/// <summary>Verifies empty template returns an empty string.</summary>
[Fact]
public void Empty_template_returns_empty()
{
MessageTemplate.Resolve("", _ => null).ShouldBe("");
}
/// <summary>Verifies null template returns an empty string without throwing.</summary>
[Fact]
public void Null_template_returns_empty_without_throwing()
{
MessageTemplate.Resolve(null!, _ => null).ShouldBe("");
}
/// <summary>Verifies ExtractTokenPaths returns all token paths from a template.</summary>
[Fact]
public void ExtractTokenPaths_returns_every_distinct_token()
{
@@ -90,6 +100,7 @@ public sealed class MessageTemplateTests
tokens.ShouldBe(new[] { "A", "B", "A", "C" });
}
/// <summary>Verifies ExtractTokenPaths returns empty for templates without tokens.</summary>
[Fact]
public void ExtractTokenPaths_empty_for_tokenless_template()
{
@@ -98,6 +109,7 @@ public sealed class MessageTemplateTests
MessageTemplate.ExtractTokenPaths(null).ShouldBeEmpty();
}
/// <summary>Verifies whitespace inside token is trimmed during resolution.</summary>
[Fact]
public void Whitespace_inside_token_is_trimmed()
{