docs(tests): fix CommentChecker findings across tests/ — 13,392 → 0 (repo-wide scan clean)
Comment/XML-doc changes only: - add summaries to ~10k test methods, fixtures, fakes and helpers (+ <param> on theories, <returns> on async Task methods, <inheritdoc/> on interface implementations the checker can resolve) - strip ~2.6k project-tracking references (WP*, P*-*, row-NN, Task N, #NN, Component-0NN) from comments, keeping the explanatory text; reword false positives in comments only - real docs on fakes implementing BCL/library interfaces (IDisposable, ILogger, IOptionsMonitor, IAsyncLifetime) - reword the last 5 src/ false positives (CWE-1236, failures-1, year-0001, M365) Only non-comment edits: four one-line nested classes split across lines so members can carry docs. Build 0 errors / 0 warnings.
This commit is contained in:
@@ -4,7 +4,7 @@ using ZB.MOM.WW.ScadaBridge.CLI.Commands;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CLI.Tests.Commands;
|
||||
|
||||
/// <summary>
|
||||
/// #54: <c>template script add/update</c> must expose <c>--min-time-between-runs</c>
|
||||
/// <c>template script add/update</c> must expose <c>--min-time-between-runs</c>
|
||||
/// (a duration with ms/s/min units) and <c>--execution-timeout-seconds</c> (an int)
|
||||
/// so the per-script throttle/re-fire interval and the execution-timeout override —
|
||||
/// previously settable only via Transport bundle import — are CLI-authorable. These
|
||||
@@ -24,6 +24,7 @@ public class TemplateScriptTimingTests
|
||||
|
||||
// ---- option surface ----
|
||||
|
||||
/// <summary>Verifies that <c>template script add</c> exposes the timing options.</summary>
|
||||
[Fact]
|
||||
public void ScriptAdd_HasTimingOptions()
|
||||
{
|
||||
@@ -33,6 +34,7 @@ public class TemplateScriptTimingTests
|
||||
Assert.Contains("--execution-timeout-seconds", names);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that <c>template script update</c> exposes the timing options.</summary>
|
||||
[Fact]
|
||||
public void ScriptUpdate_HasTimingOptions()
|
||||
{
|
||||
@@ -44,6 +46,7 @@ public class TemplateScriptTimingTests
|
||||
|
||||
// ---- --min-time-between-runs parsing ----
|
||||
|
||||
/// <summary>Verifies that an absent minimum-time value parses as unset with no error.</summary>
|
||||
[Fact]
|
||||
public void MinTime_Absent_IsUnsetNoError()
|
||||
{
|
||||
@@ -52,6 +55,7 @@ public class TemplateScriptTimingTests
|
||||
Assert.Null(err);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a blank minimum-time value parses as unset with no error.</summary>
|
||||
[Fact]
|
||||
public void MinTime_Blank_IsUnsetNoError()
|
||||
{
|
||||
@@ -60,6 +64,9 @@ public class TemplateScriptTimingTests
|
||||
Assert.Null(err);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a millisecond duration string is parsed into the expected time span.</summary>
|
||||
/// <param name="value">The duration string with a millisecond suffix.</param>
|
||||
/// <param name="expectedMs">The expected number of milliseconds.</param>
|
||||
[Theory]
|
||||
[InlineData("500ms", 500)]
|
||||
[InlineData("250MS", 250)]
|
||||
@@ -70,6 +77,8 @@ public class TemplateScriptTimingTests
|
||||
Assert.Equal(TimeSpan.FromMilliseconds(expectedMs), d);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a seconds value, including a bare number, is parsed as seconds.</summary>
|
||||
/// <param name="value">The duration string to parse.</param>
|
||||
[Theory]
|
||||
[InlineData("5")] // bare number → seconds
|
||||
[InlineData("5s")]
|
||||
@@ -82,6 +91,8 @@ public class TemplateScriptTimingTests
|
||||
Assert.Equal(TimeSpan.FromSeconds(5), d);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a minutes duration string is parsed as minutes.</summary>
|
||||
/// <param name="value">The duration string with a minutes suffix.</param>
|
||||
[Theory]
|
||||
[InlineData("2m")]
|
||||
[InlineData("2min")]
|
||||
@@ -93,6 +104,8 @@ public class TemplateScriptTimingTests
|
||||
Assert.Equal(TimeSpan.FromMinutes(2), d);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a zero duration is treated as unset, meaning no throttle.</summary>
|
||||
/// <param name="value">A zero duration string.</param>
|
||||
[Theory]
|
||||
[InlineData("0")]
|
||||
[InlineData("0s")]
|
||||
@@ -105,6 +118,8 @@ public class TemplateScriptTimingTests
|
||||
Assert.Null(d);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that an invalid duration string is rejected with an error.</summary>
|
||||
/// <param name="value">The invalid duration string.</param>
|
||||
[Theory]
|
||||
[InlineData("abc")]
|
||||
[InlineData("5h")] // hours not supported
|
||||
@@ -122,6 +137,7 @@ public class TemplateScriptTimingTests
|
||||
/// An absurdly large value (16-digit millisecond count) would overflow long/TimeSpan
|
||||
/// without the overflow guard. The parser must return false cleanly — not throw.
|
||||
/// </summary>
|
||||
/// <param name="value">An absurdly large duration string in milliseconds, seconds or minutes.</param>
|
||||
[Theory]
|
||||
[InlineData("9999999999999999ms")] // 16-digit ms: far exceeds TimeSpan.MaxValue (~922337203685477ms)
|
||||
[InlineData("9999999999999999s")] // 16-digit seconds: even larger when scaled
|
||||
|
||||
Reference in New Issue
Block a user