コード例 #1
0
        public void EditableObjectModelCollection_CollectionTest2()
        {
            var people = new EditablePersonCollection();
            var list   = new List <EditablePerson>();

            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsFalse(people.IsChanged);

            var person1 = new EditablePerson();
            var person2 = new EditablePerson();

            //var person3 = new ChangeTrackingSimplePerson();

            people.Add(person1);
            list.Add(person1);

            CollectionAssert.AreEqual(list, people);
            Assert.IsTrue(people.IsChangedLocal);

            people.AcceptChanges();
            CollectionAssert.AreEqual(list, people);
            Assert.IsFalse(people.IsChangedLocal);

            people.Add(person2);
            list.Add(person2);

            CollectionAssert.AreEqual(list, people);
            Assert.IsTrue(people.IsChangedLocal);

            people.RejectChanges();
            list.Remove(person2);

            CollectionAssert.AreEqual(list, people);
            Assert.IsFalse(people.IsChangedLocal);

            people.Remove(person1);
            list.Remove(person1);


            CollectionAssert.AreEqual(list, people);
            Assert.IsTrue(people.IsChangedLocal);

            people.AcceptChanges();
            CollectionAssert.AreEqual(list, people);
            Assert.IsFalse(people.IsChangedLocal);
        }
コード例 #2
0
        public void EditableObjectModelCollection_CollectionTest1()
        {
            var list = new List <EditablePerson>()
            {
                new EditablePerson(), new EditablePerson(), new EditablePerson()
            };
            var people = new EditablePersonCollection(list);

            CollectionAssert.AreEqual(list, people);

            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsFalse(people.IsChanged);

            people[0].Age = 1;
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsTrue(people.IsChanged);
            Assert.IsTrue(people[0].IsChangedLocal);
            Assert.AreEqual(1, people[0].Age);

            people.AcceptChanges();
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsFalse(people.IsChanged);
            Assert.IsFalse(people[0].IsChangedLocal);
            Assert.AreEqual(1, people[0].Age);

            people[0].Age = 2;
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsTrue(people.IsChanged);
            Assert.IsTrue(people[0].IsChangedLocal);
            Assert.AreEqual(2, people[0].Age);

            people.RejectChanges();
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsFalse(people.IsChanged);
            Assert.IsFalse(people[0].IsChangedLocal);
            Assert.AreEqual(1, people[0].Age);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        public void EditableObjectModelCollection_CollectionTest2()
        {
            var people = new EditablePersonCollection();
            var list = new List<EditablePerson>();
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsFalse(people.IsChanged);

            var person1 = new EditablePerson();
            var person2 = new EditablePerson();
            //var person3 = new ChangeTrackingSimplePerson();

            people.Add(person1);
            list.Add(person1);

            CollectionAssert.AreEqual(list, people);
            Assert.IsTrue(people.IsChangedLocal);

            people.AcceptChanges();
            CollectionAssert.AreEqual(list, people);
            Assert.IsFalse(people.IsChangedLocal);

            people.Add(person2);
            list.Add(person2);

            CollectionAssert.AreEqual(list, people);
            Assert.IsTrue(people.IsChangedLocal);

            people.RejectChanges();
            list.Remove(person2);

            CollectionAssert.AreEqual(list, people);
            Assert.IsFalse(people.IsChangedLocal);

            people.Remove(person1);
            list.Remove(person1);

            CollectionAssert.AreEqual(list, people);
            Assert.IsTrue(people.IsChangedLocal);

            people.AcceptChanges();
            CollectionAssert.AreEqual(list, people);
            Assert.IsFalse(people.IsChangedLocal);
        }
コード例 #5
0
        public void EditableObjectModelCollection_CollectionTest1()
        {
            var list = new List<EditablePerson>() { new EditablePerson(), new EditablePerson(), new EditablePerson() };
            var people = new EditablePersonCollection(list);
            CollectionAssert.AreEqual(list, people);

            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsFalse(people.IsChanged);

            people[0].Age = 1;
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsTrue(people.IsChanged);
            Assert.IsTrue(people[0].IsChangedLocal);
            Assert.AreEqual(1, people[0].Age);

            people.AcceptChanges();
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsFalse(people.IsChanged);
            Assert.IsFalse(people[0].IsChangedLocal);
            Assert.AreEqual(1, people[0].Age);

            people[0].Age = 2;
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsTrue(people.IsChanged);
            Assert.IsTrue(people[0].IsChangedLocal);
            Assert.AreEqual(2, people[0].Age);

            people.RejectChanges();
            Assert.IsFalse(people.IsChangedLocal);
            Assert.IsFalse(people.IsChanged);
            Assert.IsFalse(people[0].IsChangedLocal);
            Assert.AreEqual(1, people[0].Age);
        }
コード例 #6
0
        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);
        }