public void CouldRandomlyAddRemoveValues() { var map = new SortedChunkedMap <int, int>(50); var list = new List <int>(); var count = 100000; for (int i = 0; i < count; i++) { list.Add(i); } Shuffle(list); for (int i = 0; i < count; i++) { map.Add(list[i], list[i]); Assert.AreEqual(i + 1, map.Version); } Shuffle(list); for (int i = 0; i < count; i++) { Assert.True(map.Remove(list[i])); Assert.AreEqual(i + count + 1, map.Version); } Assert.True(map.IsEmpty); }
public void CouldRemoveFirst() { var scm = new SortedChunkedMap<int, int>(50); for (int i = 0; i < 100; i++) { scm.Add(i, i); } scm.Remove(50); Assert.AreEqual(50, scm.outerMap.Last.Key); KeyValuePair<int, int> kvp; scm.RemoveFirst(out kvp); Assert.AreEqual(0, kvp.Value); Assert.AreEqual(1, scm.First.Value); Assert.AreEqual(0, scm.outerMap.First.Key); }
public void CouldRemoveFirst() { var scm = new SortedChunkedMap <int, int>(50); for (int i = 0; i < 100; i++) { scm.Add(i, i); } scm.Remove(50); Assert.AreEqual(50, scm.outerMap.Last.Key); KeyValuePair <int, int> kvp; scm.RemoveFirst(out kvp); Assert.AreEqual(0, kvp.Value); Assert.AreEqual(1, scm.First.Value); Assert.AreEqual(0, scm.outerMap.First.Key); }