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