public void SettingsSetSettingChangeNoNotification() { IMutableAmbientSettingsSet settingsSet = new BasicAmbientSettingsSet(nameof(SettingsSetSettingChangeNoNotification)); string testSettingKey = nameof(SettingsSetSettingChangeNoNotification); string initialValue = "initialValue"; SettingsSetSetting <string> testSetting = new SettingsSetSetting <string>(settingsSet, testSettingKey, "", s => s, initialValue); Assert.AreEqual(initialValue, testSetting.Value); string secondValue = "change1"; settingsSet.ChangeSetting(testSettingKey, secondValue); Assert.AreEqual(secondValue, testSetting.Value); }
public void NoAmbientSetting() { using (ScopedLocalServiceOverride <IAmbientSettingsSet> localOverrideTest = new ScopedLocalServiceOverride <IAmbientSettingsSet>(null)) { AmbientSetting <int> value; value = new AmbientSetting <int>("int-setting", "", s => string.IsNullOrEmpty(s) ? 0 : Int32.Parse(s)); Assert.AreEqual(0, value.Value); value = new AmbientSetting <int>("int-setting-2", "", s => Int32.Parse(s), "1"); Assert.AreEqual(1, value.Value); value = new AmbientSetting <int>("int-setting-4", "", s => Int32.Parse(s), "-1"); Assert.AreEqual(-1, value.Value); SettingsSetSetting <int> settingsSetSetting = new SettingsSetSetting <int>(_SettingsSet, nameof(NoAmbientSetting) + "4", "", s => Int32.Parse(s), "4"); Assert.AreEqual(4, settingsSetSetting.Value); } }
private WeakReference <SettingsSetSetting <string> > FinalizableSetting(string testSettingKey, IMutableAmbientSettingsSet settingsSet) { bool valueChanged = false; string value = null; SettingsSetSetting <string> temporarySetting = new SettingsSetSetting <string>(settingsSet, testSettingKey, "", s => { valueChanged = true; value = s; return(s); }, nameof(SettingsGarbageCollection) + "-InitialValue"); WeakReference <SettingsSetSetting <string> > wr = new WeakReference <SettingsSetSetting <string> >(temporarySetting); Assert.AreEqual(nameof(SettingsGarbageCollection) + "-InitialValue", value); // change the setting to be sure we are actually hooked into the settings set's notification event settingsSet.ChangeSetting(testSettingKey, nameof(SettingsGarbageCollection) + "-ValueChanged"); Assert.AreEqual(nameof(SettingsGarbageCollection) + "-ValueChanged", temporarySetting.Value); Assert.IsTrue(valueChanged); Assert.AreEqual(nameof(SettingsGarbageCollection) + "-ValueChanged", value); return(wr); }
public void SettingsSetSettingNullConvert() { IMutableAmbientSettingsSet settingsSet = new BasicAmbientSettingsSet(nameof(SettingsSetSettingNullConvert)); string testSettingKey = nameof(SettingsSetSettingNullConvert); string initialValue = "initialValue"; string secondValue = "change1"; SettingsSetSetting <string> testSetting = new SettingsSetSetting <string>(settingsSet, testSettingKey, "", null, initialValue); Assert.AreEqual(initialValue, testSetting.Value); settingsSet.ChangeSetting(testSettingKey, secondValue); Assert.AreEqual(secondValue, testSetting.Value); settingsSet.ChangeSetting(testSettingKey, initialValue); Assert.AreEqual(initialValue, testSetting.Value); testSetting = new SettingsSetSetting <string>(settingsSet, testSettingKey, "", initialValue, null); Assert.AreEqual(initialValue, testSetting.Value); settingsSet.ChangeSetting(testSettingKey, secondValue); Assert.AreEqual(secondValue, testSetting.Value); settingsSet.ChangeSetting(testSettingKey, initialValue); Assert.AreEqual(initialValue, testSetting.Value); }