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); }
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); }