public static AlarmExistsResult Check(IAlarmManager alarmManager, Guid alarmPeriodId) { if (alarmManager == null) throw new ArgumentException(nameof(alarmManager)); var alarmPeriod = alarmManager.FindAlarmPeriod(alarmPeriodId); return Check(alarmPeriod, "不存在对应的闹钟。"); }
public void OnManagerWithoutPlugin_ShouldExposeEmptyEnumerable() { IAlarmManager alarmManager = CreateAlarmManager(); alarmManager.AddAlarm(FirstAlarm); alarmManager.CurrentAlarms.Should().BeEmpty(); }
public void WithAlarm_ShouldExposeAddedAlarmAsCurrent() { IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.AddAlarm(FirstAlarm); alarmManager.CurrentAlarms.Should().OnlyContain(a => Equals(a, FirstAlarm)); }
public void WithAlreadyAddedAlarm_ShouldNotAddAgain() { IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.AddAlarm(FirstAlarm); alarmManager.AddAlarm(FirstAlarm); alarmManager.CurrentAlarms.Should().HaveCount(1); }
public void WithAlarm_ShouldRaiseAlarmsChangedEvent() { IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.MonitorEvents(); alarmManager.AddAlarm(FirstAlarm); alarmManager.ShouldRaise("AlarmsChanged"); }
public void OnManagerWithoutPlugin_ShouldNotRaiseAlarmsChangedEvent() { IAlarmManager alarmManager = CreateAlarmManager(); alarmManager.MonitorEvents(); alarmManager.AddAlarm(FirstAlarm); alarmManager.ShouldNotRaise("AlarmsChanged"); }
public void HasErrors_OnManagerWithErrorAlarm_ShouldReturnTrue() { FirstAlarm.Type = AlarmType.Error; IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.AddAlarm(FirstAlarm); alarmManager.HasErrors.Should().BeTrue(); }
public void HasErrors_OnManagerWithWarningAlarm_ShouldReturnFalse() { FirstAlarm.Type = AlarmType.Warning; IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.AddAlarm(FirstAlarm); alarmManager.HasErrors.Should().BeFalse(); }
public void OnManagerWithCurrentAlarm_ShouldNotExposeAlarmAsCurrentAnymore() { IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.AddAlarm(FirstAlarm); alarmManager.AcknowledgeAlarms(); alarmManager.CurrentAlarms.Should().BeEmpty(); }
public void OnManagerWithoutAlarm_ShouldNotRaiseAlarmsChangedEvent() { IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.MonitorEvents(); alarmManager.AcknowledgeAlarms(); alarmManager.ShouldNotRaise("AlarmsChanged"); }
public void OnManagerWithCurrentAlarm_ShouldExposeAlarmAsHistoric() { IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.AddAlarm(FirstAlarm); alarmManager.AcknowledgeAlarms(); alarmManager.HistoricAlarms.Should().Contain(FirstAlarm); }
public void WithAlreadyAddedAlarm_ShouldNotRaiseChangedEventOnSecondTry() { IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.AddAlarm(FirstAlarm); alarmManager.MonitorEvents(); alarmManager.AddAlarm(FirstAlarm); alarmManager.ShouldNotRaise("AlarmsChanged"); }
public void Twice_ShouldAddBothAlarms() { Alarm secondAlarm = CreateRandomAlarm(); IAlarmManager alarmManager = CreateAlarmManager(new InMemoryManageCurrentAlarmsPlugin()); alarmManager.AddAlarm(FirstAlarm); alarmManager.AddAlarm(secondAlarm); alarmManager.CurrentAlarms.Should().ContainInOrder(FirstAlarm, secondAlarm); }
public void Setup() { this.view = Substitute.For <FakeMainView>(); this.alarmService = Substitute.For <FakeAlarmService>(); this.alarmManager = Substitute.For <IAlarmManager>(); this.alarmReminderManager = Substitute.For <IAlarmReminderManager>(); this.alarmFactory = Substitute.For <IAlarmFactory>(); this.importer = Substitute.For <IImporter>(); this.settings = new Settings(); this.viewModel = new MainViewModel(this.view, this.alarmService, this.alarmManager, this.alarmReminderManager, this.alarmFactory, this.importer, this.settings); }
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(); }
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); }
internal AlarmConversation(IConfigurationManager configManager, IAlarmManager manager) : base(configManager) { _manager = manager; }
public void Setup() { this.view = Substitute.For<FakeMainView>(); this.alarmService = Substitute.For<FakeAlarmService>(); this.alarmManager = Substitute.For<IAlarmManager>(); this.alarmReminderManager = Substitute.For<IAlarmReminderManager>(); this.alarmFactory = Substitute.For<IAlarmFactory>(); this.importer = Substitute.For<IImporter>(); this.settings = new Settings(); this.viewModel = new MainViewModel(this.view, this.alarmService, this.alarmManager, this.alarmReminderManager, this.alarmFactory, this.importer, this.settings); }
public MainViewModel(IMainView view, IAlarmService alarmService, IAlarmManager alarmManager, IAlarmReminderManager alarmReminderManager, IAlarmFactory alarmFactory, IImporter importer, Settings settings) { if (view == null) { throw new ArgumentNullException("view"); } if (alarmService == null) { throw new ArgumentNullException("alarmService"); } if (alarmManager == null) { throw new ArgumentNullException("alarmManager"); } if (alarmFactory == null) { throw new ArgumentNullException("alarmFactory"); } if (importer == null) { throw new ArgumentNullException("importer"); } if (settings == null) { throw new ArgumentNullException("settings"); } if (alarmReminderManager == null) { throw new ArgumentNullException("alarmReminderManager"); } this.alarmFactory = alarmFactory; this.settings = settings; this.view = view; this.view.OnLoad += view_OnLoad; this.view.OnClosing += view_OnClosing; this.view.OnHideRequest += view_OnHideRequest; this.view.OnShowRequest += view_OnShowRequest; this.view.OnExitRequest += view_OnExitRequest; this.view.OnHushRequest += view_OnHushRequest; this.view.OnUnhushRequest += view_OnUnhushRequest; this.view.OnCompleteRequest += view_OnCompleteRequest; this.view.OnCancelRequest += view_OnCancelRequest; this.view.OnChangeRequest += view_OnChangeRequest; this.view.OnNewRequest += view_OnNewRequest; this.view.OnImportRequest += view_OnImportRequest; this.view.OnEnableSoundRequest += view_OnEnableSound; this.view.OnDisableSoundRequest += view_OnDisableSound; this.view.OnPopupOnAlarmOn += view_OnPopupOnAlarmOn; this.view.OnPopupOnAlarmOff += view_OnPopupOnAlarmOff; this.view.OnSmartAlarmOn += view_OnSmartAlarmOn; this.view.OnSmartAlarmOff += view_OnSmartAlarmOff; this.alarmService = alarmService; this.alarmService.OnAlarmAdd += alarmService_OnAlarmAdd; this.alarmService.OnAlarmRemoval += alarmService_OnAlarmRemoval; this.alarmService.OnAlarmUpdate += alarmService_OnAlarmUpdate; this.alarmService.OnAlarmStatusChange += alarmService_OnAlarmStatusChange; this.alarmManager = alarmManager; this.alarmManager.OnSleep += alarmManager_OnSleep; this.alarmManager.OnWakeup += alarmManager_OnWakeup; this.alarmReminderManager = alarmReminderManager; this.alarmReminderManager.OnRequestNotification += alarmReminderManager_OnRequestNotification; this.importer = importer; this.PopupOnAlarmEnabled = this.settings.PopupOnAlarm; this.SoundEnabled = this.settings.EnableSound; this.SmartAlarmEnabled = this.settings.SmartAlarm; }
private static IAlarmAlert EmptyFactory(IAlarmManager alarmManager, IAlarm alarm) { return(new MockAlarmAlert(alarm)); }
public MainViewModel(IMainView view, IAlarmService alarmService, IAlarmManager alarmManager, IAlarmReminderManager alarmReminderManager, IAlarmFactory alarmFactory, IImporter importer, Settings settings) { if (view == null) throw new ArgumentNullException("view"); if (alarmService == null) throw new ArgumentNullException("alarmService"); if (alarmManager == null) throw new ArgumentNullException("alarmManager"); if (alarmFactory == null) throw new ArgumentNullException("alarmFactory"); if (importer == null) throw new ArgumentNullException("importer"); if (settings == null) throw new ArgumentNullException("settings"); if (alarmReminderManager == null) throw new ArgumentNullException("alarmReminderManager"); this.alarmFactory = alarmFactory; this.settings = settings; this.view = view; this.view.OnLoad += view_OnLoad; this.view.OnClosing += view_OnClosing; this.view.OnHideRequest += view_OnHideRequest; this.view.OnShowRequest += view_OnShowRequest; this.view.OnExitRequest += view_OnExitRequest; this.view.OnHushRequest += view_OnHushRequest; this.view.OnUnhushRequest += view_OnUnhushRequest; this.view.OnCompleteRequest += view_OnCompleteRequest; this.view.OnCancelRequest += view_OnCancelRequest; this.view.OnChangeRequest += view_OnChangeRequest; this.view.OnNewRequest += view_OnNewRequest; this.view.OnImportRequest += view_OnImportRequest; this.view.OnEnableSoundRequest += view_OnEnableSound; this.view.OnDisableSoundRequest += view_OnDisableSound; this.view.OnPopupOnAlarmOn += view_OnPopupOnAlarmOn; this.view.OnPopupOnAlarmOff += view_OnPopupOnAlarmOff; this.view.OnSmartAlarmOn += view_OnSmartAlarmOn; this.view.OnSmartAlarmOff += view_OnSmartAlarmOff; this.alarmService = alarmService; this.alarmService.OnAlarmAdd += alarmService_OnAlarmAdd; this.alarmService.OnAlarmRemoval += alarmService_OnAlarmRemoval; this.alarmService.OnAlarmUpdate += alarmService_OnAlarmUpdate; this.alarmService.OnAlarmStatusChange += alarmService_OnAlarmStatusChange; this.alarmManager = alarmManager; this.alarmManager.OnSleep += alarmManager_OnSleep; this.alarmManager.OnWakeup += alarmManager_OnWakeup; this.alarmReminderManager = alarmReminderManager; this.alarmReminderManager.OnRequestNotification += alarmReminderManager_OnRequestNotification; this.importer = importer; this.PopupOnAlarmEnabled = this.settings.PopupOnAlarm; this.SoundEnabled = this.settings.EnableSound; this.SmartAlarmEnabled = this.settings.SmartAlarm; }