public void CanRemoveValue() { MockStateElement element = new MockStateElement(); element["foo"] = new object(); element.Remove("foo"); Assert.IsNull(element["foo"]); }
public void AssignNullValueRaisesStateChanged() { MockStateElement element = new MockStateElement(); bool raised = false; element.StateChanged += delegate { raised = true; }; element["foo"] = null; Assert.IsTrue(raised); }
public void StateChangedRisedOnParentIfChildElementChanges() { MockStateElement element = new MockStateElement(); bool raised = false; MockStateElement parent = new MockStateElement(); parent["bar"] = element; parent.StateChanged += delegate { raised = true; }; element["foo"] = new object(); Assert.IsTrue(raised); }
public void CustomChangeNotificationElementRaisesStateChangedEvent() { MockStateElement element = new MockStateElement(); bool changed = false; MockChangedElement item = new MockChangedElement(); element["foo"] = item; element.StateChanged += delegate { changed = true; }; item.Value = "Hello"; Assert.IsTrue(changed); }
public void StateChangedNotRisedAfterChildElementIsRemoved() { MockStateElement element = new MockStateElement(); bool raised = false; MockStateElement parent = new MockStateElement(); parent["bar"] = element; parent["bar"] = null; parent.StateChanged += delegate { raised = true; }; element["foo"] = new object(); Assert.IsFalse(raised); }
public void CanAssignNullValue() { MockStateElement element = new MockStateElement(); bool contains = false; element["foo"] = null; foreach (string key in element.Keys) { if (key == "foo") { contains = true; } } Assert.IsTrue(contains); Assert.IsNull(element["foo"]); }
public void ChangedEventAttachedOnlyOnceIfMultipleAdds() { MockStateElement element = new MockStateElement(); MockChangedElement obj = new MockChangedElement(); obj.Value = "old value"; element["Test"] = obj; MockChangedElement temp = (MockChangedElement)element["Test"]; temp.Value = "new value"; element["Test"] = temp; int counter = 0; element.StateChanged += delegate { counter++; }; temp = (MockChangedElement)element["Test"]; temp.Value = "final value"; Assert.AreEqual(1, counter); }
public void ThrowsIfIndexerKeyNull() { MockStateElement element = new MockStateElement(); element[null] = new object(); }