feat(commons): enrich AlarmStateChanged with unified condition state (additive)

This commit is contained in:
Joseph Doherty
2026-05-29 15:40:20 -04:00
parent 696da92c3a
commit edc2dacf6c
3 changed files with 89 additions and 0 deletions
@@ -0,0 +1,28 @@
using ZB.MOM.WW.ScadaBridge.Commons.Messages.Streaming;
using ZB.MOM.WW.ScadaBridge.Commons.Types.Alarms;
using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
namespace ZB.MOM.WW.ScadaBridge.Commons.Tests.Messages;
public class AlarmStateChangedEnrichmentTests
{
[Fact]
public void Defaults_AreComputedKind_WithAutoAck()
{
var m = new AlarmStateChanged("inst", "HiAlarm", AlarmState.Active, 700, DateTimeOffset.UnixEpoch);
Assert.Equal(AlarmKind.Computed, m.Kind);
Assert.True(m.Condition.Acknowledged); // computed = auto-acked
Assert.Equal(700, m.Condition.Severity); // severity defaults to Priority
Assert.True(m.Condition.Active); // derived from State
Assert.Equal("", m.SourceReference);
}
[Fact]
public void Factory_ForComputed_MapsPriorityAndState()
{
var c = AlarmConditionStateFactory.ForComputed(AlarmState.Normal, priority: 250);
Assert.False(c.Active);
Assert.True(c.Acknowledged);
Assert.Equal(250, c.Severity);
}
}