Ejemplo n.º 1
0
        public void CanRemoveValue()
        {
            MockStateElement element = new MockStateElement();

            element["foo"] = new object();

            element.Remove("foo");

            Assert.IsNull(element["foo"]);
        }
Ejemplo n.º 2
0
        public void AssignNullValueRaisesStateChanged()
        {
            MockStateElement element = new MockStateElement();

            bool raised = false;

            element.StateChanged += delegate { raised = true; };

            element["foo"] = null;

            Assert.IsTrue(raised);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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"]);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        public void ThrowsIfIndexerKeyNull()
        {
            MockStateElement element = new MockStateElement();

            element[null] = new object();
        }