public void ClearVoidsForwardStack() { var storage = new DictionaryHistory <int, int>(); int maximumValue = 10; for (int i = 0; i < maximumValue; i++) { storage.Add(i, 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, maximumValue + 1); storage.StoreCurrent(new TimeMarker(3)); storage.RollForwardTo(new TimeMarker(2)); Assert.AreEqual(1, storage.Count); Assert.IsTrue(storage.ContainsKey(maximumValue + 1)); }
public void RollBackThroughClear() { var storage = new DictionaryHistory <int, int>(); int maximumValue = 10; for (int i = 0; i < maximumValue; i++) { storage.Add(i, i); } storage.StoreCurrent(new TimeMarker(1)); storage.Clear(); storage.Add(maximumValue + 1, maximumValue + 1); storage.StoreCurrent(new TimeMarker(2)); storage.RollBackTo(new TimeMarker(1)); Assert.AreEqual(maximumValue, storage.Count); int index = 0; foreach (var pair in storage) { Assert.AreEqual(index, pair.Key); Assert.AreEqual(index, pair.Value); index++; } }
public void Clear() { var storage = new DictionaryHistory <int, int>(); int key = 5; int value = 10; storage.Add(key, value); storage.Clear(); Assert.AreEqual(0, storage.Count); Assert.IsFalse(storage.ContainsKey(key)); }