public static void AreConfigsValid() { var configMan = new FanControlConfigManager(GetConfigsDir()); var validator = new FanControlConfigValidator(); foreach (string name in configMan.ConfigNames) { var cfg = configMan.GetConfig(name); Assert.True(cfg != null, $"{name} config could not be loaded"); var result = validator.Validate(cfg, false, false); StringBuilder message = null; if (!result.Success) { message = new StringBuilder(); message.AppendFormat("{0} config is not valid:", name); message.AppendLine(); foreach (var validation in result.Failed) { message.AppendFormat("- {0}", validation.RuleDescription); message.AppendLine(); message.AppendFormat("--> {0}", validation.Reason); message.AppendLine(); message.AppendLine(); } } Assert.True(result.Success, message?.ToString()); } }
public static void ReturnsEmptyListIfModelIsNull() { var cfgMan = new FanControlConfigManager( Environment.CurrentDirectory, ".xml", new MockFileSystem()); Assert.Empty(cfgMan.RecommendConfigs("HP ProBook 3334")); }
public static void ReturnsOnlyValidSuggestions() { string[] notebooks = new[] { "HP ProBook 1234", "HP EliteBook 1234", "Acer Foo 7683" }; var cfgMan = new FanControlConfigManager( Environment.CurrentDirectory, ".xml", new MockFileSystem()); int i = 0; foreach (string s in notebooks) { var cfg = new FanControlConfigV2() { FanConfigurations = new List <FanConfiguration>() { new FanConfiguration() { WriteRegister = i, ReadRegister = i + 1 } } }; cfgMan.AddConfig(cfg, s); i++; } List <string> recommendations = cfgMan.RecommendConfigs("HP ProBook 3334"); Assert.Contains(notebooks[0], recommendations); Assert.Contains(notebooks[1], recommendations); Assert.DoesNotContain(notebooks[2], recommendations); }
public void SetConfig(string configUniqueId) { if (!this.disposed) { var cfgMan = new FanControlConfigManager(ConfigsDirectory); if (!cfgMan.Contains(configUniqueId)) { throw new ArgumentException("The specified config does not exist."); } else { ServiceSettings.Default.SelectedConfigId = configUniqueId; ServiceSettings.Save(); if (this.fanControl != null) { this.fanControl.Dispose(); this.fanControl = null; } Start(); } } }
public RequestConfigNameViewModel(FanControlConfigManager configManager, string configNameDefault) { this.configManager = configManager; this.ConfigName = configNameDefault; UpdateIsConfigNameUniqueProperty(); UpdateIsConfigNameValidProperty(); }
public RequestConfigNameViewModel(FanControlConfigManager configManager, string configNameDefault) { this.configManager = configManager; this.ConfigName = configNameDefault; UpdateIsConfigNameUniqueProperty(); UpdateIsConfigNameValidProperty(); }
public void HaveAllConfigsBeenLoaded() { string path = GetConfigsDir(); var configMan = new FanControlConfigManager(path); var configsLookup = new HashSet <string>( Directory.GetFiles(path).Select(x => Path.GetFileNameWithoutExtension(x))); Assert.True(configsLookup.SetEquals(configMan.ConfigNames)); }
public void AreConfigsValid() { var configMan = new FanControlConfigManager(GetConfigsDir()); foreach (string name in configMan.ConfigNames) { Assert.True(configMan.GetConfig(name) != null, $"{name} is invalid"); } }
private void InitializeConfigManager() { string path = Assembly.GetExecutingAssembly().Location; path = Path.GetDirectoryName(path); path = Path.Combine(path, ConfigsDirectoryName); this.configManager = new FanControlConfigManager(path); this.configManager.SelectConfig(this.ActualNotebookModel); }
public MainViewModel() { this.FanConfigs = new ObservableCollection <FanConfigViewModel>(); this.RegisterWriteConfigs = new ObservableCollection <RegisterWriteConfigViewModel>(); this.configManager = new FanControlConfigManager(GetConfigsDirectoryPath()); this.configManager.SelectConfig(this.configManager.DeviceModelName); this.ActualNotebookModel = this.configManager.DeviceModelName; UpdateViewModel(); }
public static void ReturnsFalseClearsPropertiesIfNotExisting() { var cfgMan = new FanControlConfigManager( Environment.CurrentDirectory, ".xml", new MockFileSystem()); string cfgName = "foo"; cfgMan.AddConfig(new FanControlConfigV2(), cfgName); cfgMan.SelectConfig(cfgName); Assert.False(cfgMan.SelectConfig("bar")); Assert.Null(cfgMan.SelectedConfig); Assert.Null(cfgMan.SelectedConfigName); }
public static void ReturnsTrueAndSetsPropertiesIfExisting() { var cfgMan = new FanControlConfigManager( Environment.CurrentDirectory, ".xml", new MockFileSystem()); string cfgName = "foo"; cfgMan.AddConfig(new FanControlConfigV2(), cfgName); Assert.True(cfgMan.SelectConfig(cfgName)); Assert.NotNull(cfgMan.SelectedConfig); Assert.True( cfgMan.SelectedConfigName == cfgName, $"Config name should be {cfgName}, but is {cfgMan.SelectedConfigName}"); }
public SelectConfigWindow() { InitializeComponent(); parentDirName = Assembly.GetExecutingAssembly().Location; parentDirName = Path.GetDirectoryName(parentDirName); string path = Path.Combine(parentDirName, ConfigsDirectoryName); this.configManager = new FanControlConfigManager(path); this.configSelector.ItemsSource = configManager.ConfigNames; if (!File.Exists(Path.Combine(parentDirName, ConfigEditorExecutableName))) { this.edit.Visibility = System.Windows.Visibility.Collapsed; } }
public SelectConfigWindow() { InitializeComponent(); parentDirName = Assembly.GetExecutingAssembly().Location; parentDirName = Path.GetDirectoryName(parentDirName); string path = Path.Combine(parentDirName, ConfigsDirectoryName); this.configManager = new FanControlConfigManager(path); this.configSelector.ItemsSource = configManager.ConfigNames; if (!File.Exists(Path.Combine(parentDirName, ConfigEditorExecutableName))) { this.edit.Visibility = System.Windows.Visibility.Collapsed; } }
private bool TryLoadConfig(string id, out FanControlConfigV2 config) { bool result = false; var configManager = new FanControlConfigManager(FanControlService.ConfigsDirectory); if (!string.IsNullOrWhiteSpace(id) && configManager.SelectConfig(id)) { this.selectedConfig = configManager.SelectedConfigName; config = configManager.SelectedConfig; result = true; } else { config = null; } return(result); }
public static void DoNotRecommendConfigsWithSameRwRegisters() { string[] notebooks = new[] { "HP ProBook 1234", "HP ProBook 1235" }; var cfgMan = new FanControlConfigManager( Environment.CurrentDirectory, ".xml", new MockFileSystem()); foreach (string s in notebooks) { var cfg = new FanControlConfigV2() { FanConfigurations = new List <FanConfiguration>() { new FanConfiguration() } }; cfgMan.AddConfig(cfg, s); } List <string> recommendations = cfgMan.RecommendConfigs("HP ProBook 1234"); Assert.Contains(notebooks[0], recommendations); Assert.DoesNotContain(notebooks[1], recommendations); }
public string[] GetRecommendedConfigs() { var cfgMan = new FanControlConfigManager(ConfigsDirectory); return(cfgMan.RecommendConfigs().ToArray()); }
public string[] GetConfigNames() { var cfgMan = new FanControlConfigManager(ConfigsDirectory); return(cfgMan.ConfigNames.ToArray()); }
private bool TryLoadConfig(out FanControlConfigV2 config) { bool result = false; var configManager = new FanControlConfigManager(FanControlService.ConfigsDirectory); string id = ServiceSettings.Default.SelectedConfigId; if (!string.IsNullOrWhiteSpace(id) && configManager.SelectConfig(id)) { this.selectedConfig = configManager.SelectedConfigName; config = configManager.SelectedConfig; result = true; } else { config = null; } return result; }
public void SetConfig(string configUniqueId) { if (!this.disposed) { var cfgMan = new FanControlConfigManager(ConfigsDirectory); if (!cfgMan.Contains(configUniqueId)) { throw new ArgumentException("The specified config does not exist."); } else { ServiceSettings.Default.SelectedConfigId = configUniqueId; ServiceSettings.Save(); if (this.fanControl != null) { this.fanControl.Dispose(); this.fanControl = null; } Start(); } } }
private void InitializeConfigManager() { string path = Assembly.GetExecutingAssembly().Location; path = Path.GetDirectoryName(path); path = Path.Combine(path, ConfigsDirectoryName); this.configManager = new FanControlConfigManager(path); this.configManager.SelectConfig(this.ActualNotebookModel); }