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); } }