public void Add_WhenCalledAndReverted_AddsAndReverts()
        {
            TrackedCollection<int> tc = new TrackedCollection<int>(CollectionTrackingStrategy.TrackOnlyCollectionOperations);

            tc.Tracker.Track();

            tc.Add( 0 );
            tc.Add(1);
            tc.Add(2);
            tc.Add(3);
            tc.Add(4);
            tc.Add(5);

            ObjectTracker.SetRestorePoint(tc, "After 5");

            tc.Add(6);
            tc.Add(7);
            tc.Add(8);
            tc.Add(9);
            tc.Add(10);

            ObjectTracker.UndoTo(tc, "After 5");

            Assert.AreEqual(5, tc.Last());

            tc.Tracker.Redo();

            Assert.AreEqual(6, tc.Last());

            tc.Tracker.Undo();

            Assert.AreEqual(5, tc.Last());

            tc.Tracker.Undo();

            Assert.AreEqual(4, tc.Last());
        }
Ejemplo n.º 2
0
        public void Add_WhenCalledAndReverted_AddsAndReverts()
        {
            TrackedCollection <int> tc = new TrackedCollection <int>(CollectionTrackingStrategy.TrackOnlyCollectionOperations);

            tc.Tracker.Track();

            tc.Add(0);
            tc.Add(1);
            tc.Add(2);
            tc.Add(3);
            tc.Add(4);
            tc.Add(5);

            ObjectTracker.SetRestorePoint(tc, "After 5");

            tc.Add(6);
            tc.Add(7);
            tc.Add(8);
            tc.Add(9);
            tc.Add(10);

            ObjectTracker.UndoTo(tc, "After 5");

            Assert.AreEqual(5, tc.Last());

            tc.Tracker.Redo();

            Assert.AreEqual(6, tc.Last());

            tc.Tracker.Undo();

            Assert.AreEqual(5, tc.Last());

            tc.Tracker.Undo();

            Assert.AreEqual(4, tc.Last());
        }