public void ClearVoidsForwardStack() { var storage = new ListHistory <int>(); int maximumValue = 10; for (int i = 0; i < maximumValue; i++) { storage.Add(i); } storage.StoreCurrent(new TimeMarker(1)); storage[5] = maximumValue; storage.StoreCurrent(new TimeMarker(2)); storage.RollBackTo(new TimeMarker(1)); storage.Clear(); storage.Add(maximumValue + 1); storage.StoreCurrent(new TimeMarker(3)); storage.RollForwardTo(new TimeMarker(2)); Assert.That( storage, Is.EquivalentTo(new int[] { maximumValue + 1 })); }
public void RollBackThroughClear() { var storage = new ListHistory <int>(); int maximumValue = 10; for (int i = 0; i < maximumValue; i++) { storage.Add(i); } storage.StoreCurrent(new TimeMarker(1)); storage.Clear(); storage.Add(maximumValue + 1); storage.StoreCurrent(new TimeMarker(2)); storage.RollBackTo(new TimeMarker(1)); Assert.That( storage, Is.EquivalentTo(new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 })); }