public ProjectExplorerViewModel( IWin32Window view, ApplicationSettingsRepository settingsRepository, IJobService jobService, IEventService eventService, IGlobalSessionBroker sessionBroker, IProjectModelService projectModelService, ICloudConsoleService cloudConsoleService) { this.View = view; this.settingsRepository = settingsRepository; this.jobService = jobService; this.sessionBroker = sessionBroker; this.projectModelService = projectModelService; this.cloudConsoleService = cloudConsoleService; this.RootNode = new CloudViewModelNode(this); // // Read current settings. // // NB. Do not hold on to the settings object because it might change. // this.operatingSystemsFilter = settingsRepository .GetSettings() .IncludeOperatingSystems .EnumValue; eventService.BindAsyncHandler <SessionStartedEvent>( e => UpdateInstanceAsync(e.Instance, i => i.IsConnected = true)); eventService.BindAsyncHandler <SessionEndedEvent>( e => UpdateInstanceAsync(e.Instance, i => i.IsConnected = false)); }
public void WhenProxyPacUrlInvalid_ThenSetValueThrowsArgumentOutOfRangeException() { var baseKey = hkcu.CreateSubKey(TestKeyPath); var repository = new ApplicationSettingsRepository(baseKey); var settings = repository.GetSettings(); settings.ProxyPacUrl.Value = null; Assert.Throws <ArgumentOutOfRangeException>( () => settings.ProxyPacUrl.Value = "thisisnotanurl"); }
public void WhenSettingsSaved_ThenSettingsCanBeRead() { var baseKey = hkcu.CreateSubKey(TestKeyPath); var repository = new ApplicationSettingsRepository(baseKey); var settings = repository.GetSettings(); settings.IsMainWindowMaximized.BoolValue = true; settings.MainWindowHeight.IntValue = 480; settings.MainWindowWidth.IntValue = 640; settings.IsUpdateCheckEnabled.BoolValue = false; settings.LastUpdateCheck.LongValue = 123L; repository.SetSettings(settings); settings = repository.GetSettings(); Assert.AreEqual(true, settings.IsMainWindowMaximized.BoolValue); Assert.AreEqual(480, settings.MainWindowHeight.IntValue); Assert.AreEqual(640, settings.MainWindowWidth.IntValue); Assert.AreEqual(false, settings.IsUpdateCheckEnabled.BoolValue); Assert.AreEqual(123, settings.LastUpdateCheck.LongValue); }
public void WhenKeyEmpty_ThenDefaultsAreProvided() { var baseKey = hkcu.CreateSubKey(TestKeyPath); var repository = new ApplicationSettingsRepository(baseKey); var settings = repository.GetSettings(); Assert.AreEqual(false, settings.IsMainWindowMaximized.Value); Assert.AreEqual(0, settings.MainWindowHeight.Value); Assert.AreEqual(0, settings.MainWindowWidth.Value); Assert.AreEqual(true, settings.IsUpdateCheckEnabled.Value); Assert.AreEqual(0, settings.LastUpdateCheck.Value); }
public ProjectExplorerViewModel( ApplicationSettingsRepository settingsRepository) { this.settingsRepository = settingsRepository; // // Read current settings. // // NB. Do not hold on to the settings object because it might change. // this.includedOperatingSystems = settingsRepository .GetSettings() .IncludeOperatingSystems .EnumValue; }
public void WhenSettingsSaved_ThenSettingsCanBeRead() { var baseKey = hkcu.CreateSubKey(TestKeyPath); var repository = new ApplicationSettingsRepository(baseKey); repository.SetSettings(new ApplicationSettings() { IsMainWindowMaximized = true, MainWindowHeight = 480, MainWindowWidth = 640, IsUpdateCheckEnabled = false, LastUpdateCheck = 123 }); var settings = repository.GetSettings(); Assert.IsTrue(settings.IsMainWindowMaximized); Assert.AreEqual(480, settings.MainWindowHeight); Assert.AreEqual(640, settings.MainWindowWidth); Assert.AreEqual(false, settings.IsUpdateCheckEnabled); Assert.AreEqual(123, settings.LastUpdateCheck); }