Esempio n. 1
0
        public void Reset_DoesNothingIfNoChanges()
        {
            var mockItem       = new Mock <ChangeTrackingObject>(MockBehavior.Strict);
            var expectedTarget = ChangeTarget.Collection;
            var subject        = new ChangeContainerItem <ChangeTrackingObject>(mockItem.Object, ChangeTarget.Collection);

            subject.Reset();
            Assert.Same(mockItem.Object, subject.Item);
            Assert.Equal(expectedTarget, subject.Target);
            Assert.Equal(ChangeAction.None, subject.Action);
        }
Esempio n. 2
0
        public void Reset_RevertsItemChanges()
        {
            var expectedItem = ChangeTrackingObject.CreateTrackable <TestItem>();
            var subject      = new ChangeContainerItem <TestItem>(expectedItem, ChangeTarget.Collection);

            subject.Item.StringValue = "My new value";
            Assert.True(subject.HasChanges);
            Assert.Equal(ChangeAction.Update, subject.Action);

            subject.Reset();
            Assert.Same(expectedItem, subject.Item);
            Assert.False(subject.HasChanges);
            Assert.Equal(ChangeAction.None, subject.Action);
        }
Esempio n. 3
0
        public void Reset_RevertsDirectChanges()
        {
            var expectedItem = new TestItem {
                StringValue = "Orginal"
            };
            var subject = new ChangeContainerItem <TestItem>(expectedItem, ChangeTarget.Collection);

            subject.Item = new TestItem();
            subject.Reset();

            Assert.False(subject.HasChanges);
            Assert.Same(expectedItem, subject.Item);
            Assert.Equal(ChangeAction.None, subject.Action);
        }