public void OnManagerWithoutAlarm_ShouldNotRaiseAlarmsChangedEvent()
        {
            IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin());

            alarmManager.MonitorEvents();
            alarmManager.AcknowledgeAlarms();
            alarmManager.ShouldNotRaise("AlarmsChanged");
        }
        public void OnManagerWithCurrentAlarm_ShouldNotExposeAlarmAsCurrentAnymore()
        {
            IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin());

            alarmManager.AddAlarm(FirstAlarm);
            alarmManager.AcknowledgeAlarms();
            alarmManager.CurrentAlarms.Should().BeEmpty();
        }
        public void OnManagerWithCurrentAlarm_ShouldExposeAlarmAsHistoric()
        {
            IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin());

            alarmManager.AddAlarm(FirstAlarm);
            alarmManager.AcknowledgeAlarms();
            alarmManager.HistoricAlarms.Should().Contain(FirstAlarm);
        }
        public void NonResettableAlarm_AlarmsAcknowledged_NonResettableAlarmShouldStay()
        {
            var alarm = new Alarm {
                IsResettable = false
            };
            IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin());

            alarmManager.AddAlarm(alarm);

            alarmManager.AcknowledgeAlarms();

            alarmManager.CurrentAlarms.Should().NotBeEmpty();
        }