internal PackageSettings(Package package) { if (package == null) { throw new ArgumentNullException("package"); } this.package = package; if (package.FullPath == null) { profile = SettingsGroup.CreateSettingsProfile(false); } else { var path = Path.Combine(package.FullPath.GetFullDirectory(), package.FullPath.GetFileName() + SettingsExtension); try { profile = SettingsGroup.LoadSettingsProfile(path, false); } catch (Exception e) { e.Ignore(); } if (profile == null) { profile = SettingsGroup.CreateSettingsProfile(false); } } }
public void TestSettingsSaveAndLoad() { TestSettingsWrite(); TestSettingsList(); SettingsGroup.SaveSettingsProfile(SettingsGroup.CurrentProfile, TempPath("TestSettingsSaveAndLoad.txt")); SettingsGroup.LoadSettingsProfile(TempPath("TestSettingsSaveAndLoad.txt"), true); Assert.AreEqual(30, ValueSettingsKeys.IntValue.GetValue()); Assert.AreEqual(9.1, ValueSettingsKeys.DoubleValue.GetValue()); Assert.AreEqual("Another string", ValueSettingsKeys.StringValue.GetValue()); var intList = ListSettingsKeys.IntList.GetValue(); Assert.That(intList, Is.EquivalentTo(new[] { 1, 3 })); var doubleList = ListSettingsKeys.DoubleList.GetValue(); Assert.That(doubleList, Is.EquivalentTo(new[] { 9.0 })); var stringList = ListSettingsKeys.StringList.GetValue(); Assert.That(stringList, Is.EquivalentTo(new[] { "String 1", "String 1.5", "String 2.0", "String 3" })); }