Esempio n. 1
0
        public void UnlinkFromModel()
        {
            var counter       = 0;
            var model         = mocks.Stub <IModel>();
            var modelDataItem = new ModelDataItem();

            model.DataItems = new EventedList <IDataItem> {
                new DataItem(new object(), "Name", typeof(object), DataItemRole.None, "Tag")
            };
            modelDataItem.RequiredDataItems = new EventedList <IDataItem> {
                new DataItem(new object(), "Name", typeof(object), DataItemRole.None, "Tag")
            };

            modelDataItem.Unlinked += delegate { counter++; };

            Assert.IsFalse(modelDataItem.IsLinked);

            modelDataItem.LinkToModel(model);

            Assert.IsTrue(modelDataItem.IsLinked);

            modelDataItem.UnlinkFromModel();

            Assert.AreEqual(1, counter);
            Assert.IsFalse(modelDataItem.IsLinked);
        }
Esempio n. 2
0
        public void ModelDataItemNameDoesNotChangeWhileLinkingAndUnlinking()
        {
            var model         = mocks.Stub <IModel>();
            var modelDataItem = new ModelDataItem {
                Name = "Expected name"
            };

            model.DataItems = new EventedList <IDataItem> {
                new DataItem(new object(), "Name", typeof(object), DataItemRole.None, "Tag")
            };
            modelDataItem.RequiredDataItems = new EventedList <IDataItem> {
                new DataItem(new object(), "Name", typeof(object), DataItemRole.None, "Tag")
            };

            modelDataItem.LinkToModel(model);

            Assert.AreEqual("Expected name", modelDataItem.Name);

            modelDataItem.UnlinkFromModel();

            Assert.AreEqual("Expected name", modelDataItem.Name);
        }