Resolve Worker.Tests-008..015 code-review findings

Worker.Tests-008: moved the misplaced WorkerLogRedactor test out of
VariantConverterTests into Bootstrap/WorkerLogRedactorTests.

Worker.Tests-009: renamed 46 snake_case alarm-test methods to PascalCase
Method_Scenario_Expectation.

Worker.Tests-010: replaced a weak Assert.Contains with an exact assertion
against the real diagnostic message and corrected the XML doc.

Worker.Tests-011: renamed and re-documented a cancellation test that
overstated what it proved.

Worker.Tests-012: added an oversized-frame (MessageTooLarge) test; renamed
the mislabeled zero-length-payload test.

Worker.Tests-013: removed the fixed-100ms ThrowIfCompletedAsync helper; the
caller now races runTask deterministically.

Worker.Tests-014: consolidated duplicated test fakes/helpers
(FakeRuntimeSession, NoopComApartmentInitializer, NoopEventSink, frame
helpers) into a shared TestSupport namespace.

Worker.Tests-015: added MxAccessEventQueue coverage for drain-all (maxEvents
0), empty-queue drain, and enqueue-after-fault.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Joseph Doherty
2026-05-18 22:59:07 -04:00
parent 9582de077b
commit 371bcb3f91
19 changed files with 507 additions and 512 deletions
@@ -15,7 +15,7 @@ namespace MxGateway.Worker.Tests.MxAccess;
public sealed class AlarmRecordTransitionMapperTests
{
[Fact]
public void ComposeFullReference_uses_provider_bang_group_dot_name_format()
public void ComposeFullReference_WithProviderAndGroup_UsesProviderBangGroupDotNameFormat()
{
string reference = AlarmRecordTransitionMapper.ComposeFullReference(
providerName: "GalaxyAlarmProvider",
@@ -25,7 +25,7 @@ public sealed class AlarmRecordTransitionMapperTests
}
[Fact]
public void ComposeFullReference_drops_provider_when_empty()
public void ComposeFullReference_WithEmptyProvider_DropsProvider()
{
string reference = AlarmRecordTransitionMapper.ComposeFullReference(
providerName: null, groupName: "Tank01", alarmName: "Level.HiHi");
@@ -33,7 +33,7 @@ public sealed class AlarmRecordTransitionMapperTests
}
[Fact]
public void ComposeFullReference_drops_group_when_empty()
public void ComposeFullReference_WithEmptyGroup_DropsGroup()
{
string reference = AlarmRecordTransitionMapper.ComposeFullReference(
providerName: "GalaxyAlarmProvider", groupName: null, alarmName: "GlobalAlarm");
@@ -41,7 +41,7 @@ public sealed class AlarmRecordTransitionMapperTests
}
[Fact]
public void ComposeFullReference_returns_alarm_name_when_provider_and_group_empty()
public void ComposeFullReference_WithEmptyProviderAndGroup_ReturnsAlarmName()
{
string reference = AlarmRecordTransitionMapper.ComposeFullReference(
providerName: null, groupName: null, alarmName: "Bare");
@@ -58,7 +58,7 @@ public sealed class AlarmRecordTransitionMapperTests
[InlineData("UNKNOWN", MxAlarmStateKind.Unspecified)]
[InlineData("", MxAlarmStateKind.Unspecified)]
[InlineData(null, MxAlarmStateKind.Unspecified)]
public void ParseStateKind_decodes_state_strings(string? input, MxAlarmStateKind expected)
public void ParseStateKind_ForEachStateString_DecodesStateKind(string? input, MxAlarmStateKind expected)
{
Assert.Equal(expected, AlarmRecordTransitionMapper.ParseStateKind(input));
}
@@ -83,7 +83,7 @@ public sealed class AlarmRecordTransitionMapperTests
[InlineData(MxAlarmStateKind.UnackAlm, MxAlarmStateKind.UnackAlm, AlarmTransitionKind.Unspecified)]
// Current=Unspecified → Unspecified.
[InlineData(MxAlarmStateKind.UnackAlm, MxAlarmStateKind.Unspecified, AlarmTransitionKind.Unspecified)]
public void MapTransition_decides_proto_kind(
public void MapTransition_ForEachStatePair_DecidesProtoKind(
MxAlarmStateKind previous,
MxAlarmStateKind current,
AlarmTransitionKind expected)
@@ -92,7 +92,7 @@ public sealed class AlarmRecordTransitionMapperTests
}
[Fact]
public void ParseTransitionTimestampUtc_assembles_utc_from_xml_fields()
public void ParseTransitionTimestampUtc_WithValidXmlFields_AssemblesUtc()
{
// Captured payload from probe (2026-05-01): EDT producer, GMTOFFSET=240, DSTADJUST=0.
// Local 13:26:14.709 + 240 minutes (4h) = 17:26:14.709 UTC.
@@ -110,7 +110,7 @@ public sealed class AlarmRecordTransitionMapperTests
}
[Fact]
public void ParseTransitionTimestampUtc_returns_min_value_on_unparseable_inputs()
public void ParseTransitionTimestampUtc_WithUnparseableInputs_ReturnsMinValue()
{
Assert.Equal(DateTime.MinValue,
AlarmRecordTransitionMapper.ParseTransitionTimestampUtc(null, null, 0, 0));