public void HasAlarms_WhenRemoveAlarmUsingId_ShouldRemoveAlarm()
        {
            var alarm = new Alarm {
                AlarmId = 777, Source = "Test"
            };
            IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin());

            alarmManager.AddAlarm(alarm);

            alarmManager.RemoveAlarm("Test", 777);

            alarmManager.CurrentAlarms.Should().BeEmpty();
        }
        public void NonResettableAlarm_WhenRemoveAlarm_AlarmShouldBeGone()
        {
            var alarm = new Alarm {
                IsResettable = false
            };
            IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin());

            alarmManager.AddAlarm(alarm);

            alarmManager.RemoveAlarm(alarm);

            alarmManager.CurrentAlarms.Should().BeEmpty();
        }
        public void HasAlarms_WhenRemoveAlarm_ShouldRemoveTheRightOne()
        {
            var firstAlarm = new Alarm {
                AlarmId = 1
            };
            var secondAlarm = new Alarm {
                AlarmId = 2
            };
            IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin());

            alarmManager.AddAlarm(firstAlarm);
            alarmManager.AddAlarm(secondAlarm);

            alarmManager.RemoveAlarm(secondAlarm);

            alarmManager.CurrentAlarms.Should().Contain(firstAlarm);
            alarmManager.CurrentAlarms.Should().NotContain(secondAlarm);
        }