Esempio n. 1
0
        public void ResetsOnMultipleObjects()
        {
            var A = new TestLevelA();
            A.NestedAs = new Collection<TestLevelA>();
            A.B = new TestLevelB();
            A.B.Bstuff = 2;

            A = ShadowedObject.CopyInto(A);

            A.B.BaselineOriginals();
            A.BaselineOriginals();

            A.NestedAs.Add(new TestLevelA());
            A.NestedAs.Add(new TestLevelA());

            A.B.Bstuff = 3;

            A.ResetToOriginal(a => a.NestedAs);
            A.B.ResetToOriginal(b => b.Bstuff);

            Assert.IsTrue(A.B.Bstuff == 2);
            Assert.IsTrue(A.NestedAs.Count == 0);
        }
Esempio n. 2
0
        public void NonGenericCollectionResetToOriginalTest()
        {
            var A = new TestLevelA();
            A.UntypedList = new ArrayList();

            A = ShadowedObject.CopyInto(A);

            A.BaselineOriginals();

            A.UntypedList.Add(new TestLevelA());
            A.UntypedList.Add(new TestLevelA());

            A.ResetToOriginal(a => a.UntypedList);

            Assert.IsTrue(A.UntypedList.Count < 1);
        }
Esempio n. 3
0
        public void RecursiveTwoLevelCheckingForChangedCollection()
        {
            var A = new TestLevelA();
            A.NestedAs = new Collection<TestLevelA>();

            A.NestedAs.Add(ShadowedObject.Create<TestLevelA>());
            A.NestedAs.Add(ShadowedObject.Create<TestLevelA>());

            A = ShadowedObject.CopyInto(A);

            A.BaselineOriginals();

            Assert.IsTrue(!A.HasChanges());

            A.NestedAs[0].name = "xyz";

            Assert.IsTrue(A.HasChanges());
        }
Esempio n. 4
0
        public void CollectionResetToOriginalTest()
        {
            var A = new TestLevelA();
            A.NestedAs = new Collection<TestLevelA>();

            A = ShadowedObject.CopyInto(A);

            A.BaselineOriginals();

            A.NestedAs.Add(new TestLevelA());
            A.NestedAs.Add(new TestLevelA());

            A.ResetToOriginal(a => a.NestedAs[0]);

            Assert.IsTrue(A.NestedAs.Count < 1);
        }