/// <summary> /// Initializes a new instance of the <see cref="EngineDescription" /> class. /// </summary> /// <param name="name">The engine's name.</param> /// <param name="version">The engine's version.</param> /// <param name="settings">The engine's settings.</param> public EngineDescription(string name, string version, SettingsGroup settings) { Name = name; Version = version; Settings = settings; LoadSettings(); }
/// <summary> /// Initializes a new instance of the <see cref="EngineDescription" /> class. /// </summary> /// <param name="name">The engine's name.</param> /// <param name="levlSize">The size of the levl chunk.</param> /// <param name="version">The engine's version.</param> /// <param name="settings">The engine's settings.</param> public EngineDescription(string name, int levlSize, int version, SettingsGroup settings) { Name = name; LevlSize = levlSize; Version = version; Settings = settings; LoadSettings(); }
public void BadSettingPUT212() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { SettingsGroup settingsGroup; RegistrySettingsStorage s0 = new RegistrySettingsStorage(Registry.DynData); settingsGroup = new SettingsGroup((ISettingsStorage)s0); disposables.Add((IDisposable)settingsGroup); this.BadSettingPUT2(settingsGroup, "\\\0.", "", false); disposables.Dispose(); } }
public void TopLevelSettingsPUT101() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { SettingsGroup settingsGroup; settingsGroup = new SettingsGroup((ISettingsStorage)null); disposables.Add((IDisposable)settingsGroup); object s0 = new object(); this.TopLevelSettingsPUT1(settingsGroup, "", s0); disposables.Dispose(); } }
public void SetPropertyPersistence(string name, bool doPersist, SettingsGroup settingsGroup) { CheckDisposed(); string key; GetBestSettingsGroupAndKey(name, settingsGroup, out key); // Will properly throw if not in Dictionary. var property = m_properties[key]; property.doPersist = doPersist; }
/// <summary> /// A sinmple consturctor that initializes the object with the given values. /// </summary> /// <param name="p_gsgSettings">The settings group whose settings will be editable with this view.</param> public GeneralSettingsPage(GeneralSettingsGroup p_gsgSettings) : this() { SettingsGroup = p_gsgSettings; rdcDirectories.ViewModel = p_gsgSettings.RequiredDirectoriesVM; lblWorkingDirectory.Text = String.Format(lblWorkingDirectory.Text, p_gsgSettings.Title); BindingHelper.CreateFullBinding(tbxWorkingDirectory, () => tbxWorkingDirectory.Text, p_gsgSettings, () => p_gsgSettings.InstallationPath); BindingHelper.CreateFullBinding(tbxCommand, () => tbxCommand.Text, p_gsgSettings, () => p_gsgSettings.CustomLaunchCommand); BindingHelper.CreateFullBinding(tbxCommandArguments, () => tbxCommandArguments.Text, p_gsgSettings, () => p_gsgSettings.CustomLaunchCommandArguments); }
/// <summary> /// Test whether a property exists and gives its 'best' group and its value. /// (ie. local first and then global). /// </summary> /// <param name="name"></param> /// <param name="propertyValue">null, if it didn't find the property.</param> /// <param name="bestGuessGroup">Undecided, if none was found.</param> /// <returns></returns> public bool PropertyExists(string name, out object propertyValue, out SettingsGroup bestGuessGroup) { bestGuessGroup = SettingsGroup.Undecided; if (PropertyExists(name, out propertyValue, SettingsGroup.LocalSettings)) { bestGuessGroup = SettingsGroup.LocalSettings; } else if (PropertyExists(name, out propertyValue, SettingsGroup.GlobalSettings)) { bestGuessGroup = SettingsGroup.GlobalSettings; } return(bestGuessGroup != SettingsGroup.Undecided); }
public void BadSettingPUT1([PexAssumeUnderTest] SettingsGroup testGroup1, [PexAssumeUnderTest] String settingName, [PexAssumeNotNull] Object settingValue, int defSettingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null); //PexAssume.IsTrue(defSettingValue != null); PexAssume.IsTrue(settingValue is string); String str_sv = settingValue as string; PexAssume.IsTrue(Regex.IsMatch(str_sv, "@([a-z])*")); testGroup1.SaveSetting(settingName, settingValue); PexAssert.AreEqual(defSettingValue, testGroup1.GetSetting(settingName, defSettingValue)); }
public void SubGroupSettingsPUT103() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { SettingsGroup settingsGroup; RegistrySettingsStorage s0 = new RegistrySettingsStorage(Registry.DynData); settingsGroup = new SettingsGroup((ISettingsStorage)s0); disposables.Add((IDisposable)settingsGroup); object s1 = new object(); this.SubGroupSettingsPUT1(settingsGroup, "", s1); disposables.Dispose(); } }
public void TopLevelSettingsPUT205() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { SettingsGroup settingsGroup; RegistrySettingsStorage s0 = new RegistrySettingsStorage((RegistryKey)null); settingsGroup = new SettingsGroup((ISettingsStorage)s0); disposables.Add((IDisposable)settingsGroup); object s1 = new object(); this.TopLevelSettingsPUT2(settingsGroup, ".", s1); disposables.Dispose(); } }
public void SubGroupSettingsPUT1([PexAssumeUnderTest] SettingsGroup testGroup1, [PexAssumeUnderTest] String settingName, [PexAssumeNotNull] Object settingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null); SettingsGroup subGroup = new SettingsGroup(testGroup1.Storage); PexAssert.IsNotNull(subGroup); PexAssert.IsNotNull(subGroup.Storage); subGroup.SaveSetting(settingName, settingValue); PexAssert.AreEqual(settingValue, subGroup.GetSetting(settingName)); }
public void BadSettingPUT207() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { SettingsGroup settingsGroup; MemorySettingsStorage memorySettingsStorage = new MemorySettingsStorage(); settingsGroup = new SettingsGroup((ISettingsStorage)memorySettingsStorage); disposables.Add((IDisposable)settingsGroup); this.BadSettingPUT2(settingsGroup, "", "", false); disposables.Dispose(); PexAssert.IsNotNull((object)settingsGroup); PexAssert.IsNull(settingsGroup.Storage); } }
public void BadSettingPUT217() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { XmlSettingsStorage xmlSettingsStorage; SettingsGroup settingsGroup; xmlSettingsStorage = new XmlSettingsStorage((string)null); disposables.Add((IDisposable)xmlSettingsStorage); settingsGroup = new SettingsGroup((ISettingsStorage)xmlSettingsStorage); disposables.Add((IDisposable)settingsGroup); this.BadSettingPUT2(settingsGroup, "", "True\0", false); disposables.Dispose(); } }
public void SubGroupSettingsPUT104() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { SettingsGroup settingsGroup; MemorySettingsStorage memorySettingsStorage = new MemorySettingsStorage(); settingsGroup = new SettingsGroup((ISettingsStorage)memorySettingsStorage); disposables.Add((IDisposable)settingsGroup); object s0 = new object(); this.SubGroupSettingsPUT1(settingsGroup, "", s0); disposables.Dispose(); PexAssert.IsNotNull((object)settingsGroup); PexAssert.IsNull(settingsGroup.Storage); } }
public void BadSettingPUT215() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { XmlSettingsStorage xmlSettingsStorage; SettingsGroup settingsGroup; xmlSettingsStorage = new XmlSettingsStorage((string)null); disposables.Add((IDisposable)xmlSettingsStorage); settingsGroup = new SettingsGroup((ISettingsStorage)xmlSettingsStorage); disposables.Add((IDisposable)settingsGroup); this.BadSettingPUT2 (settingsGroup, "", "\0", PexSafeHelpers.ByteToBoolean((byte)128)); disposables.Dispose(); } }
public void DefaultSettings() { RegistrySettingsStorage storage = new RegistrySettingsStorage("Test", testKey); SettingsGroup testGroup = new SettingsGroup("TestGroup", storage); Assert.IsNull(testGroup.LoadSetting("X")); Assert.IsNull(testGroup.LoadSetting("NAME")); Assert.AreEqual(5, testGroup.LoadSetting("X", 5)); Assert.AreEqual(6, testGroup.LoadIntSetting("X", 6)); Assert.AreEqual("7", testGroup.LoadStringSetting("X", "7")); Assert.AreEqual("Charlie", testGroup.LoadSetting("NAME", "Charlie")); Assert.AreEqual("Fred", testGroup.LoadStringSetting("NAME", "Fred")); }
public void BadSettingPUT5([PexAssumeUnderTest] String settingName, [PexAssumeUnderTest] Object settingValue, [PexAssumeUnderTest] Object defSettingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null); PexAssume.IsTrue(defSettingValue != null && defSettingValue is String); PexAssume.IsTrue(settingValue is bool); SettingsGroup testGroup1 = new SettingsGroup(new MemorySettingsStorage()); DelegateHandler dhObj1 = new DelegateHandler(testGroup1); testGroup1.SaveSetting(settingName, settingValue); String defSettingValue_typecast = defSettingValue as String; PexAssert.AreEqual(settingValue.ToString(), testGroup1.GetSetting(settingName, defSettingValue_typecast)); }
public void BadSettingPUT216() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { XmlSettingsStorage xmlSettingsStorage; SettingsGroup settingsGroup; xmlSettingsStorage = new XmlSettingsStorage((string)null); disposables.Add((IDisposable)xmlSettingsStorage); settingsGroup = new SettingsGroup((ISettingsStorage)xmlSettingsStorage); disposables.Add((IDisposable)settingsGroup); this.BadSettingPUT2(settingsGroup, "", "False\0", false); disposables.Dispose(); PexAssert.IsNotNull((object)settingsGroup); PexAssert.IsNull(settingsGroup.Storage); } }
/// <summary> /// Gets string value of property for the specified settingsGroup /// and creates the property with the default value if it doesn't exist yet. /// </summary> /// <param name="name"></param> /// <param name="defaultValue"></param> /// <param name="settingsGroup"></param> /// <returns></returns> public int GetIntProperty(string name, int defaultValue, SettingsGroup settingsGroup) { SettingsGroup firstSettings; settingsGroup = TestForBestSettings(name, settingsGroup, out firstSettings); switch (settingsGroup) { case SettingsGroup.LocalSettings: return(GetIntPropertyInternal(FormatPropertyNameForLocalSettings(name), defaultValue)); case SettingsGroup.GlobalSettings: case SettingsGroup.Undecided: default: return(GetIntPropertyInternal(name, defaultValue)); } }
/// <summary> /// Loads an engine database from an XML container. /// </summary> /// <param name="container">The container to read engine elements from.</param> /// <returns>The built engine database.</returns> public static EngineDatabase LoadDatabase(XContainer container) { XMLSettingsGroupLoader loader = CreateSettingsGroupLoader(); var result = new EngineDatabase(); foreach (XElement elem in container.Elements("engine")) { string name = XMLUtil.GetStringAttribute(elem, "name"); int levlSize = (int)XMLUtil.GetNumericAttribute(elem, "levlSize"); int version = (int)XMLUtil.GetNumericAttribute(elem, "version"); SettingsGroup settings = loader.LoadSettingsGroup(elem); var desc = new EngineDescription(name, levlSize, version, settings); result.RegisterEngine(desc); } return(result); }
/// <summary> /// Loads a settings group from an XML container. /// </summary> /// <param name="container">The container to read settings from.</param> /// <returns>The loaded settings group.</returns> public SettingsGroup LoadSettingsGroup(XContainer container) { var result = new SettingsGroup(); foreach (XElement elem in container.Elements()) { if (elem.HasElements) { result.SetGroup(elem.Name.LocalName, LoadSettingsGroup(elem)); } else { result.SetSetting(elem.Name.LocalName, LoadSetting(elem)); } } return result; }
public void SetPropertyPersistence(string name, bool doPersist, SettingsGroup settingsGroup) { SettingsGroup firstSettings; settingsGroup = TestForBestSettings(name, settingsGroup, out firstSettings); switch (settingsGroup) { case SettingsGroup.LocalSettings: SetPropertyPersistenceInternal(FormatPropertyNameForLocalSettings(name), doPersist); break; case SettingsGroup.GlobalSettings: default: SetPropertyPersistenceInternal(name, doPersist); break; } }
public void SubGroupSettingsPUT105() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { XmlSettingsStorage xmlSettingsStorage; SettingsGroup settingsGroup; xmlSettingsStorage = new XmlSettingsStorage((string)null); disposables.Add((IDisposable)xmlSettingsStorage); settingsGroup = new SettingsGroup((ISettingsStorage)xmlSettingsStorage); disposables.Add((IDisposable)settingsGroup); object s0 = new object(); this.SubGroupSettingsPUT1(settingsGroup, "", s0); disposables.Dispose(); PexAssert.IsNotNull((object)settingsGroup); PexAssert.IsNull(settingsGroup.Storage); } }
private SettingsGroup CreateNewSettingsGroup() { SettingsGroup settingsGroup; if (string.IsNullOrEmpty(this.ScopeFilter) && this.Scope != ExchangeSettingsScope.Forest) { settingsGroup = new SettingsGroup(this.GroupName, this.CreateDownlevelScope()); } else { if (this.IsFieldSet("Scope") && this.Scope != ExchangeSettingsScope.Forest) { base.WriteError(new ExchangeSettingsCannotChangeScopeOnScopeFilteredGroupException(this.GroupName), ExchangeErrorCategory.Client, this.DataObject); } int priority = this.Priority; if (!this.IsFieldSet("Priority")) { int num = -1; foreach (SettingsGroup settingsGroup2 in this.DataObject.Settings.Values) { if (settingsGroup2.Priority > num) { num = settingsGroup2.Priority; } } if (num == -1) { priority = 100; } else { priority = num + 10; } } settingsGroup = new SettingsGroup(this.GroupName, this.ScopeFilter, priority); } if (this.IsFieldSet("ExpirationDate")) { if (this.ExpirationDate != null && this.ExpirationDate.Value < DateTime.UtcNow) { this.WriteWarning(Strings.ExchangeSettingsExpirationDateIsInThePastWarning(this.ExpirationDate.Value.ToString())); } settingsGroup.ExpirationDate = (this.ExpirationDate ?? DateTime.MinValue); } return(settingsGroup); }
public void SetPropertyDispose(string name, bool doDispose, SettingsGroup settingsGroup) { SettingsGroup firstSettings; settingsGroup = TestForBestSettings(name, settingsGroup, out firstSettings); switch (settingsGroup) { case SettingsGroup.LocalSettings: SetPropertyDisposeInternal(FormatPropertyNameForLocalSettings(name), doDispose); break; case SettingsGroup.GlobalSettings: case SettingsGroup.Undecided: default: SetPropertyDisposeInternal(name, doDispose); break; } }
public void Generate(SettingsGroup group, MenuManager manager) { if (items.Count > 0) { for (int i = 0; i < items.Count; i++) { Destroy(items[i].gameObject); } items.Clear(); } this.group = group; foreach (SettingItem si in group.items) { AddItem(si, manager); } }
/// <summary> /// Creates SettingsGroup panel for a specified category. /// </summary> /// <param name="category">Non-group category</param> protected CMSUserControl CreatePanelForCategory(SettingsCategoryInfo category) { if (category == null) { return(null); } // Create new Category bar and initialize it SettingsGroup group = Page.LoadControl("~/CMSModules/Settings/Controls/SettingsGroup.ascx") as SettingsGroup; group.Category = category; group.SiteID = mSiteId; group.ActionPerformed += new CommandEventHandler(group_ActionPerformed); group.OnNewKey += new CommandEventHandler(group_OnNewKey); group.OnKeyAction += new OnActionEventHandler(group_OnKeyAction); return(group); }
public void BadSettingPUT4([PexAssumeUnderTest] String settingName, [PexAssumeUnderTest] Object settingValue, [PexAssumeUnderTest] Object defSettingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null); PexAssume.IsTrue(defSettingValue != null); SettingsGroup testGroup1 = new SettingsGroup(new MemorySettingsStorage()); DelegateHandler dhObj1 = new DelegateHandler(testGroup1); if (defSettingValue is object) { PexAssert.AreEqual(defSettingValue, testGroup1.GetSetting(settingName, defSettingValue)); } if (settingValue is String && defSettingValue is int) { PexAssert.AreEqual(defSettingValue, testGroup1.GetSetting(settingName, defSettingValue)); } }
public void SubGroupSettings() { SettingsGroup subGroup = new SettingsGroup( testGroup.Storage ); Assert.IsNotNull( subGroup ); Assert.IsNotNull( subGroup.Storage ); subGroup.SaveSetting( "X", 5 ); subGroup.SaveSetting( "NAME", "Charlie" ); Assert.AreEqual( 5, subGroup.GetSetting( "X" ) ); Assert.AreEqual( "Charlie", subGroup.GetSetting( "NAME" ) ); subGroup.RemoveSetting( "X" ); Assert.IsNull( subGroup.GetSetting( "X" ), "X not removed" ); Assert.AreEqual( "Charlie", subGroup.GetSetting( "NAME" ) ); subGroup.RemoveSetting( "NAME" ); Assert.IsNull( subGroup.GetSetting( "NAME" ), "NAME not removed" ); }
public void SubGroupSettings() { SettingsGroup subGroup = new SettingsGroup(testGroup.Storage); Assert.IsNotNull(subGroup); Assert.IsNotNull(subGroup.Storage); subGroup.SaveSetting("X", 5); subGroup.SaveSetting("NAME", "Charlie"); Assert.AreEqual(5, subGroup.GetSetting("X")); Assert.AreEqual("Charlie", subGroup.GetSetting("NAME")); subGroup.RemoveSetting("X"); Assert.IsNull(subGroup.GetSetting("X"), "X not removed"); Assert.AreEqual("Charlie", subGroup.GetSetting("NAME")); subGroup.RemoveSetting("NAME"); Assert.IsNull(subGroup.GetSetting("NAME"), "NAME not removed"); }
/// <summary> /// Saves shares in directory specified /// </summary> /// <param name="dir">Directory where we should save settings to</param> public void Save(string dir) { directory = dir; SettingsGroup setting = new SettingsGroup(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (KeyValuePair <string, IShare> item in shares) { sb.Append(item.Key); sb.Append("|"); } if (sb.Length > 0) { setting.Add(IndexShareNames, new SettingItem(sb.ToString(), null)); } FlowLib.Utils.FileOperations.PathExists(dir); SettingsGroup.Save(dir + FileName + ".xml", setting, FileName); setting = null; }
public void SubGroupSettingsPUT111() { using (PexDisposableContext disposables = PexDisposableContext.Create()) { MemorySettingsStorage memorySettingsStorage; SettingsGroup settingsGroup; string[] ss = new string[1]; object[] os = new object[1]; ss[0] = ""; os[0] = ""; memorySettingsStorage = MemorySettingsStorageFactory.Create(ss, os); disposables.Add((IDisposable)memorySettingsStorage); settingsGroup = new SettingsGroup((ISettingsStorage)memorySettingsStorage); disposables.Add((IDisposable)settingsGroup); this.SubGroupSettingsPUT1(settingsGroup, "", ""); disposables.Dispose(); PexAssert.IsNotNull((object)settingsGroup); PexAssert.IsNull(settingsGroup.Storage); } }
public void TypeSafeSettings() { RegistrySettingsStorage storage = new RegistrySettingsStorage("Test", testKey); SettingsGroup testGroup = new SettingsGroup("TestGroup", storage); testGroup.SaveIntSetting("X", 5); testGroup.SaveStringSetting("Y", "17"); testGroup.SaveStringSetting("NAME", "Charlie"); Assert.AreEqual(5, testGroup.LoadSetting("X")); Assert.AreEqual(5, testGroup.LoadIntSetting("X")); Assert.AreEqual("5", testGroup.LoadStringSetting("X")); Assert.AreEqual("17", testGroup.LoadSetting("Y")); Assert.AreEqual(17, testGroup.LoadIntSetting("Y")); Assert.AreEqual("17", testGroup.LoadStringSetting("Y")); Assert.AreEqual("Charlie", testGroup.LoadSetting("NAME")); Assert.AreEqual("Charlie", testGroup.LoadStringSetting("NAME")); }
public void TopLevelSettings() { RegistrySettingsStorage storage = new RegistrySettingsStorage("Test", testKey); SettingsGroup testGroup = new SettingsGroup("TestGroup", storage); Assert.IsNotNull(testGroup); Assert.AreEqual("TestGroup", testGroup.Name); Assert.AreEqual(storage, testGroup.Storage); testGroup.SaveSetting("X", 5); testGroup.SaveSetting("NAME", "Charlie"); Assert.AreEqual(5, testGroup.LoadSetting("X")); Assert.AreEqual("Charlie", testGroup.LoadSetting("NAME")); testGroup.RemoveSetting("X"); Assert.IsNull(testGroup.LoadSetting("X"), "X not removed"); Assert.AreEqual("Charlie", testGroup.LoadSetting("NAME")); testGroup.RemoveSetting("NAME"); Assert.IsNull(testGroup.LoadSetting("NAME"), "NAME not removed"); }
/// <summary> /// set the property value for the specified settingsGroup (broadcast change by default) /// </summary> /// <param name="name"></param> /// <param name="newValue"></param> /// <param name="settingsGroup"></param> public void SetProperty(string name, object newValue, SettingsGroup settingsGroup) { SetProperty(name, newValue, true, settingsGroup); }
/// <summary> /// Get the value of the property in the specified settingsGroup. /// Sets the defaultValue if the property doesn't exist. /// </summary> /// <param name="name"></param> /// <param name="defaultValue"></param> /// <param name="settingsGroup"></param> /// <returns></returns> public object GetValue(string name, object defaultValue, SettingsGroup settingsGroup) { object result = GetValue(name, settingsGroup); if (result == null) { result = defaultValue; SetProperty(name, result, settingsGroup); } return result; }
/// <summary> /// Test whether a property exists in the specified group. Gives any value found. /// </summary> /// <param name="name"></param> /// <param name="propertyValue">null, if it didn't find the property.</param> /// <param name="settingsGroup"></param> /// <returns></returns> public bool PropertyExists(string name, out object propertyValue, SettingsGroup settingsGroup) { propertyValue = GetValue(name, settingsGroup); return propertyValue != null; }
public void BeforeEachTest() { MemorySettingsStorage storage = new MemorySettingsStorage(); testGroup = new SettingsGroup( storage ); }
public void SetPropertyDispose(string name, bool doDispose, SettingsGroup settingsGroup) { SettingsGroup firstSettings; settingsGroup = TestForBestSettings(name, settingsGroup, out firstSettings); switch (settingsGroup) { case SettingsGroup.LocalSettings: SetPropertyDisposeInternal(FormatPropertyNameForLocalSettings(name), doDispose); break; case SettingsGroup.GlobalSettings: case SettingsGroup.Undecided: default: SetPropertyDisposeInternal(name, doDispose); break; } }
public DelegateHandler(SettingsGroup sgObj) { SettingsEventHandler sehObj1 = new SettingsEventHandler(MySettingsEventHandler); sgObj.Changed += sehObj1; }
public void BeforeEachTest() { settings = new SettingsGroup(); }
public void BadSettingPUT4([PexAssumeUnderTest]String settingName, [PexAssumeUnderTest]Object settingValue, [PexAssumeUnderTest]Object defSettingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null); PexAssume.IsTrue(defSettingValue != null); SettingsGroup testGroup1 = new SettingsGroup(new MemorySettingsStorage()); DelegateHandler dhObj1 = new DelegateHandler(testGroup1); if (defSettingValue is object) { PexAssert.AreEqual(defSettingValue, testGroup1.GetSetting(settingName, defSettingValue)); } if (settingValue is String && defSettingValue is int) { PexAssert.AreEqual(defSettingValue, testGroup1.GetSetting(settingName, defSettingValue)); } }
public void SubGroupSettingsPUT3([PexAssumeUnderTest] SettingsGroup testGroup1, [PexAssumeUnderTest] String settingName, [PexAssumeUnderTest]Object settingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null); DelegateHandler dhObj1 = new DelegateHandler(testGroup1); SettingsGroup subGroup = new SettingsGroup(testGroup1.Storage); PexAssert.IsNotNull(subGroup); PexAssert.IsNotNull(subGroup.Storage); //Without delegate subGroup.SaveSetting(settingName, settingValue); PexAssert.AreEqual(settingValue, subGroup.GetSetting(settingName)); subGroup.RemoveSetting(settingName); PexAssert.IsNull(subGroup.GetSetting(settingName)); //With delegate DelegateHandler dhObj2 = new DelegateHandler(subGroup); subGroup.SaveSetting(settingName, settingValue); PexAssert.AreEqual(settingValue, subGroup.GetSetting(settingName)); subGroup.RemoveSetting(settingName); PexAssert.IsNull(subGroup.GetSetting(settingName)); }
public void BadSettingPUT5([PexAssumeUnderTest]String settingName, [PexAssumeUnderTest]Object settingValue, [PexAssumeUnderTest]Object defSettingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null); PexAssume.IsTrue(defSettingValue != null && defSettingValue is String); PexAssume.IsTrue(settingValue is bool); SettingsGroup testGroup1 = new SettingsGroup(new MemorySettingsStorage()); DelegateHandler dhObj1 = new DelegateHandler(testGroup1); testGroup1.SaveSetting(settingName, settingValue); String defSettingValue_typecast = defSettingValue as String; PexAssert.AreEqual(settingValue.ToString(), testGroup1.GetSetting(settingName, defSettingValue_typecast)); }
private void SaveGroup(XmlWriter xml, FieldInfo groupFi, SettingsGroup groupObj) { xml.WriteStartElement(groupFi.Name); foreach (FieldInfo fi in groupFi.FieldType.GetFields()) { if (!fi.IsPublic) continue; xml.WriteStartElement(fi.Name); try { object value = fi.GetValue(groupObj); if (value != null) SaveItem(xml, fi, value); } catch (Exception ex) { _plugin.Output.WriteLine(OutputStyle.Error, "Exception when getting value for {0}.{1}: {2}", groupFi.Name, fi.Name, ex); } xml.WriteEndElement(); // fi.Name } xml.WriteEndElement(); // groupFi.Name }
private void LoadItem(XmlElement fieldElement, FieldInfo fi, SettingsGroup groupObj) { Type type = fi.FieldType; if (type.IsValueType) { string str = fieldElement.InnerText; if (str == null) str = ""; object val = ConvertStringToType(str, fi.FieldType); if (val != null) fi.SetValue(groupObj, val); } else if (type == typeof(string)) { fi.SetValue(groupObj, fieldElement.InnerText); } else { _plugin.Output.WriteLine(OutputStyle.Warning, "Unable to determine how to load settings field {0} (type {1})", fi.Name, type.ToString()); } }
private void LoadGroup(XmlElement groupElement, FieldInfo groupFi, SettingsGroup groupObj) { foreach (XmlNode node in groupElement.ChildNodes) { if (node.NodeType != XmlNodeType.Element) continue; XmlElement fieldElement = (XmlElement)node; FieldInfo fi = groupFi.FieldType.GetField(fieldElement.Name); if (fi == null) { _plugin.Output.WriteLine(OutputStyle.Warning, "Couldn't find a field to match element '{0}' in group '{1}'.", fieldElement.Name, groupFi.Name); } else { LoadItem(fieldElement, fi, groupObj); } } }
/// <summary> /// set the property value for the specified settingsGroup, and allow user to not broadcast the change. /// </summary> /// <param name="name"></param> /// <param name="newValue"></param> /// <param name="doBroadcastChange"></param> /// <param name="settingsGroup"></param> public void SetProperty(string name, object newValue, bool doBroadcastChange, SettingsGroup settingsGroup) { SettingsGroup firstSettings; settingsGroup = TestForBestSettings(name, settingsGroup, out firstSettings); switch (settingsGroup) { case SettingsGroup.LocalSettings: SetPropertyInternal(FormatPropertyNameForLocalSettings(name), newValue, doBroadcastChange); break; case SettingsGroup.GlobalSettings: default: SetPropertyInternal(name, newValue, doBroadcastChange); break; } }
/// <summary> /// If the specified settingsGroup is "BestSettings", find the best setting, /// otherwise return the specified settingsGroup. /// </summary> /// <param name="name"></param> /// <param name="settingsGroup"></param> /// <param name="firstSettings"></param> /// <returns></returns> private SettingsGroup TestForBestSettings(string name, SettingsGroup settingsGroup, out SettingsGroup firstSettings) { firstSettings = settingsGroup; if (settingsGroup == SettingsGroup.BestSettings) settingsGroup = GetBestSettings(name); return settingsGroup; }
/// <summary> /// Gets string value of property for the specified settingsGroup /// and creates the property with the default value if it doesn't exist yet. /// </summary> /// <param name="name"></param> /// <param name="defaultValue"></param> /// <param name="settingsGroup"></param> /// <returns></returns> public int GetIntProperty(string name, int defaultValue, SettingsGroup settingsGroup) { SettingsGroup firstSettings; settingsGroup = TestForBestSettings(name, settingsGroup, out firstSettings); switch (settingsGroup) { case SettingsGroup.LocalSettings: return GetIntPropertyInternal(FormatPropertyNameForLocalSettings(name), defaultValue); case SettingsGroup.GlobalSettings: case SettingsGroup.Undecided: default: return GetIntPropertyInternal(name, defaultValue); } }
/// <summary> /// Tests whether a property exists, and gives the 'best' group it was found in /// (ie. local first and then global). /// </summary> /// <param name="name"></param> /// <param name="bestGuessGroup">Undecided, if none was found.</param> /// <returns></returns> public bool PropertyExists(string name, out SettingsGroup bestGuessGroup) { object propertyValue = null; return PropertyExists(name, out propertyValue, out bestGuessGroup); }
public void SetPropertyPersistence(string name, bool doPersist, SettingsGroup settingsGroup) { SettingsGroup firstSettings; settingsGroup = TestForBestSettings(name, settingsGroup, out firstSettings); switch(settingsGroup) { case SettingsGroup.LocalSettings: SetPropertyPersistenceInternal(FormatPropertyNameForLocalSettings(name), doPersist); break; case SettingsGroup.GlobalSettings: default: SetPropertyPersistenceInternal(name, doPersist); break; } }
/// <summary> /// Test whether a property exists and gives its 'best' group and its value. /// (ie. local first and then global). /// </summary> /// <param name="name"></param> /// <param name="propertyValue">null, if it didn't find the property.</param> /// <param name="bestGuessGroup">Undecided, if none was found.</param> /// <returns></returns> public bool PropertyExists(string name, out object propertyValue, out SettingsGroup bestGuessGroup) { bestGuessGroup = SettingsGroup.Undecided; if (PropertyExists(name, out propertyValue, SettingsGroup.LocalSettings)) bestGuessGroup = SettingsGroup.LocalSettings; else if (PropertyExists(name, out propertyValue, SettingsGroup.GlobalSettings)) bestGuessGroup = SettingsGroup.GlobalSettings; return bestGuessGroup != SettingsGroup.Undecided; }
public NaivePhotoGaleryFactory(SettingsGroup settings) { Settings = settings; }
/// <summary> /// Test whether a property exist in the specified group. /// </summary> /// <param name="name"></param> /// <param name="settingsGroup"></param> /// <returns></returns> public bool PropertyExists(string name, SettingsGroup settingsGroup) { object propertyValue = null; return PropertyExists(name, out propertyValue, settingsGroup); }
public void BadSettingPUT6([PexAssumeUnderTest]String settingName, [PexAssumeUnderTest]Object settingValue, [PexAssumeUnderTest]Object defSettingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null && settingValue is String); String str_sv = settingValue.ToString(); PexAssume.IsTrue(Regex.IsMatch(str_sv, "@([a-z])*")); PexAssume.IsTrue(defSettingValue != null); SettingsGroup testGroup1 = new SettingsGroup(new MemorySettingsStorage()); DelegateHandler dhObj1 = new DelegateHandler(testGroup1); if (defSettingValue is int) { testGroup1.SaveSetting(settingName, settingValue); int defVal = Int32.Parse(defSettingValue.ToString()); PexAssert.AreEqual(defVal, testGroup1.GetSetting(settingName, defVal)); } else if (defSettingValue is string) { String defVal = defSettingValue.ToString(); PexAssert.AreEqual(defVal, testGroup1.GetSetting(settingName, defVal)); } else if (!settingValue.Equals("True") && !settingValue.Equals("False") && defSettingValue is bool) { bool defVal = Boolean.Parse(defSettingValue.ToString()); PexAssert.AreEqual(defVal, testGroup1.GetSetting(settingName, defVal)); testGroup1.SaveSetting(settingName, settingValue); PexAssert.AreEqual(defVal, testGroup1.GetSetting(settingName, defVal)); } }
public void SubGroupSettingsPUT2([PexAssumeUnderTest] SettingsGroup testGroup1, [PexAssumeUnderTest] String settingName, [PexAssumeNotNull]Object settingValue) { PexAssume.IsTrue(settingName != null); PexAssume.IsTrue(settingValue != null); SettingsGroup subGroup = new SettingsGroup(testGroup1.Storage); PexAssert.IsNotNull(subGroup); PexAssert.IsNotNull(subGroup.Storage); subGroup.SaveSetting(settingName, settingValue); PexAssert.AreEqual(settingValue, subGroup.GetSetting(settingName)); subGroup.RemoveSetting(settingName); PexAssert.IsNull(subGroup.GetSetting(settingName)); }