Пример #1
0
        public void ClonedCanBeginEdit()
        {
            person.BeginEdit();
            person.FirstName = "Kevin";
            var clone = person.Clone();

            Assert.AreNotSame(person, clone);
            Assert.AreEqual(person.FirstName, clone.FirstName);
            clone.BeginEdit();
            Assert.AreEqual(clone.IsChanged, false);
            clone.FirstName = "Bob";
            Assert.AreEqual(clone.IsChanged, true);
        }
Пример #2
0
        public void TestMEditableObject()
        {
            var clone = person.Clone();

            person.BeginEdit();
            Assert.IsTrue(clone.EqualsByValue(person));
            person.FirstName   = "New name1";
            person.LastName    = "New name2";
            person.DateOfBirth = DateTime.Now;
            person.CancelEdit();
            Assert.IsTrue(clone.EqualsByValue(person));

            // idempotent
            person.EndEdit();
            person.CancelEdit();
            person.BeginEdit();
            person.BeginEdit();
            Assert.IsTrue(clone.EqualsByValue(person));
            person.FirstName = "Alice";
            person.EndEdit();
            person.EndEdit();
            Assert.AreEqual("Alice", person.FirstName);
        }