public void EditableObjectModelCollection_ChangeTrackingTest() { var people = new EditablePersonCollection(); people.RejectChanges(); Assert.IsNotNull(people.Boss); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); people.Age = 100; Assert.IsTrue(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.RejectChanges(); Assert.AreEqual(0, people.Age); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); people.FirstName = "Tom"; Assert.IsTrue(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.AcceptChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.IsFalse(people.Boss.IsChangedLocal); people.Boss.FirstName = "Frank"; Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); Assert.IsTrue(people.Boss.IsChangedLocal); Assert.IsTrue(people.Boss.IsChangedLocal); Assert.AreEqual("Tom", people.FirstName); Assert.AreEqual("Frank", people.Boss.FirstName); people.AcceptChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.AreEqual("Tom", people.FirstName); Assert.AreEqual("Frank", people.Boss.FirstName); people.FirstName = "Harry"; people.Boss.FirstName = "Sam"; Assert.IsTrue(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); Assert.IsTrue(people.Boss.IsChangedLocal); Assert.IsTrue(people.Boss.IsChangedLocal); Assert.AreEqual("Harry", people.FirstName); Assert.AreEqual("Sam", people.Boss.FirstName); people.RejectChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.AreEqual("Tom", people.FirstName); Assert.AreEqual("Frank", people.Boss.FirstName); people.DummyObject.IsChanged = true; Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.AcceptChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); people.DummyObject.IsChanged = true; Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.RejectChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); people.DummyObject.IsChanged = true; Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.AcceptChangesLocal(); Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); }
public void EditableObjectModelCollection_ChangeTrackingTest() { var people = new EditablePersonCollection(); people.RejectChanges(); Assert.IsNotNull(people.Boss); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); people.Age = 100; Assert.IsTrue(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.RejectChanges(); Assert.AreEqual(0, people.Age); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); people.FirstName = "Tom"; Assert.IsTrue(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.AcceptChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.IsFalse(people.Boss.IsChangedLocal); people.Boss.FirstName = "Frank"; Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); Assert.IsTrue(people.Boss.IsChangedLocal); Assert.IsTrue(people.Boss.IsChangedLocal); Assert.AreEqual("Tom", people.FirstName); Assert.AreEqual("Frank", people.Boss.FirstName); people.AcceptChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.AreEqual("Tom", people.FirstName); Assert.AreEqual("Frank", people.Boss.FirstName); people.FirstName = "Harry"; people.Boss.FirstName = "Sam"; Assert.IsTrue(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); Assert.IsTrue(people.Boss.IsChangedLocal); Assert.IsTrue(people.Boss.IsChangedLocal); Assert.AreEqual("Harry", people.FirstName); Assert.AreEqual("Sam", people.Boss.FirstName); people.RejectChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.IsFalse(people.Boss.IsChangedLocal); Assert.AreEqual("Tom", people.FirstName); Assert.AreEqual("Frank", people.Boss.FirstName); people.DummyObject.IsChanged = true; Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.AcceptChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); people.DummyObject.IsChanged = true; Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.RejectChanges(); Assert.IsFalse(people.IsChangedLocal); Assert.IsFalse(people.IsChanged); people.DummyObject.IsChanged = true; Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); people.AcceptChangesLocal(); Assert.IsFalse(people.IsChangedLocal); Assert.IsTrue(people.IsChanged); }