public void Remove () { SettingsPropertyCollection col = new SettingsPropertyCollection (); SettingsProperty test_prop = new SettingsProperty ("test_prop"); col.Add (test_prop); Assert.AreEqual (1, col.Count, "A1"); col.Remove ("test_prop"); Assert.AreEqual (0, col.Count, "A2"); }
public void PropertyValuesInitialized () { SettingsPropertyCollection props = new SettingsPropertyCollection (); SettingsProviderCollection provs = new SettingsProviderCollection (); MyProvider p = new MyProvider (); MySettings s = new MySettings (); int i; try { i = s.Foo; Assert.Fail ("#1-2"); } catch (SettingsPropertyNotFoundException) { } s.Initialize (new SettingsContext (), props, provs); Assert.AreEqual (0, s.PropertyValues.Count, "#2-1"); Assert.AreEqual (0, s.Context.Count, "#2-2"); props.Add (new SettingsProperty ("Foo", typeof (int), p, false, 10, SettingsSerializeAs.String, null, true, true)); // initialize w/o the provider s.Initialize (new SettingsContext (), props, provs); Assert.AreEqual (0, s.PropertyValues.Count, "#3-0"); Assert.AreEqual (100, s.Foo, "#3-1"); // ... !!! Assert.AreEqual (1, s.PropertyValues.Count, "#3-2"); SettingsPropertyValue v = s.PropertyValues ["Foo"]; Assert.AreEqual (100, v.PropertyValue, "#3-3"); Assert.AreEqual (0, s.Context.Count, "#3-4"); // initialize w/ the provider provs.Add (p); provs.Add (new MyProvider2 ("Bar", 25)); props.Add (new SettingsProperty ("Bar", typeof (int), provs ["MyProvider2"], false, 10, SettingsSerializeAs.String, null, true, true)); s.Initialize (new SettingsContext (), props, provs); Assert.AreEqual (1, s.PropertyValues.Count, "#4-1"); Assert.AreEqual (100, s.Foo, "#4-2"); Assert.AreEqual (25, s.Bar, "#4-3"); // ... !!! Assert.AreEqual (2, s.PropertyValues.Count, "#4-3-2"); Assert.AreEqual (0, s.Context.Count, "#4-4"); // wrong provider props.Remove ("Bar"); props.Add (new SettingsProperty ("Bar", typeof (int), provs ["MyProvider"], false, 10, SettingsSerializeAs.String, null, true, true)); s = new MySettings (); s.Initialize (new SettingsContext (), props, provs); Assert.AreEqual (0, s.PropertyValues.Count, "#5-1"); Assert.AreEqual (100, s.Foo, "#5-2"); Assert.AreEqual (10, s.Bar, "#5-3"); }
public void ReadOnly_Remove () { SettingsPropertyCollection col = new SettingsPropertyCollection (); SettingsProperty test_prop = new SettingsProperty ("test_prop"); col.Add (test_prop); col.SetReadOnly (); col.Remove ("test_prop"); }
public override SettingsPropertyValueCollection GetPropertyValues(SettingsContext context, SettingsPropertyCollection collection) { var result = new SettingsPropertyValueCollection(); if (!this.Initialized) { return result; } string userName = (string)context["UserName"]; if (string.IsNullOrEmpty(userName) || userName.Contains(@"\")) { return result; } var relevantProperties = this.GetRelevantProperties(collection); if (relevantProperties.Count == 0) { return result; } var userProperties = this.GetProperties(userName, this.SaleforcePropertyNames); foreach (SalesforceProfileProperty property in relevantProperties) { object value; if (userProperties.TryGetValue(property.SalesforceName, out value)) { value = this.ConvertProperty(value, property.PropertyType); } result.Add(new SettingsPropertyValue(property) { IsDirty = false, PropertyValue = value, }); collection.Remove(property.Name); } return result; }