/// <summary> /// See <see cref="IReadWriteLocator.Remove(object)"/> for more information. /// </summary> public override bool Remove(object key) { if (key == null) { throw new ArgumentNullException("key"); } return(references.Remove(key)); }
public void CanRemoveAnObjectThatWasAlreadyAdded() { object o = new object(); WeakRefDictionary <object, object> dict = new WeakRefDictionary <object, object>(); dict.Add("foo", o); dict.Remove("foo"); object unused = dict["foo"]; }
public void RemovingAKeyOfOneObjectDoesNotAffectOtherKeysForSameObject() { object o = new object(); WeakRefDictionary <object, object> dict = new WeakRefDictionary <object, object>(); dict.Add("foo1", o); dict.Add("foo2", o); dict.Remove("foo1"); Assert.AreSame(o, dict["foo2"]); }
public void RemovingAKeyDoesNotAffectOtherKeys() { object o1 = new object(); object o2 = new object(); WeakRefDictionary <object, object> dict = new WeakRefDictionary <object, object>(); dict.Add("foo1", o1); dict.Add("foo2", o2); dict.Remove("foo1"); Assert.AreSame(o2, dict["foo2"]); }
public void RemovingANonExistantKeyDoesntThrow() { WeakRefDictionary <object, object> dict = new WeakRefDictionary <object, object>(); dict.Remove("foo1"); }