public void AddRemove_Success() { var skipList = new ConcurrentSkipListMap <Int32, Int32>(); skipList.Add(3, 3); skipList.Add(1, 1); skipList.Add(10, 10); Assert.IsFalse(skipList.Remove(0)); Assert.IsFalse(skipList.Remove(2)); Assert.IsFalse(skipList.Remove(6)); Assert.IsFalse(skipList.Remove(20)); Assert.IsTrue(skipList.Remove(10)); Assert.IsTrue(skipList.ContainsKey(1)); Assert.IsTrue(skipList.ContainsKey(3)); Assert.IsFalse(skipList.ContainsKey(10)); Assert.AreEqual(2, skipList.Count); Assert.IsTrue(skipList.Remove(1)); Assert.IsFalse(skipList.ContainsKey(1)); Assert.IsTrue(skipList.ContainsKey(3)); Assert.IsFalse(skipList.ContainsKey(10)); Assert.AreEqual(1, skipList.Count); Assert.IsTrue(skipList.Remove(3)); Assert.IsFalse(skipList.ContainsKey(1)); Assert.IsFalse(skipList.ContainsKey(3)); Assert.IsFalse(skipList.ContainsKey(10)); Assert.AreEqual(0, skipList.Count); Assert.IsFalse(skipList.Remove(1)); }
public void DuplicateKey_Exception() { var skipList = new ConcurrentSkipListMap <Int32, Int32>(); skipList.Add(1, 1); Assert.ThrowsException <ArgumentException>(() => { skipList.Add(1, 1); }); }
public void Foreach_Success() { var skipList = new ConcurrentSkipListMap <Int32, Int32>(); var items = new[] { 1, 5, 10, 7, 100, 54, 23, 86 }; foreach (var item in items) { skipList.Add(item, item + 1); } var sortedItems = items.ToList(); sortedItems.Sort(); var index = 0; foreach (var skipListItem in skipList) { Assert.AreEqual(sortedItems[index], skipListItem.Key); Assert.AreEqual(sortedItems[index] + 1, skipListItem.Value); index++; } index = 0; foreach (var skipListValue in skipList.Select(x => x.Value)) { Assert.AreEqual(sortedItems[index] + 1, skipListValue); index++; } }
private void AddItems_0_to_1000(ConcurrentSkipListMap <Int32, Int32> skipList) { for (var i = 0; i < 1000; i += 3) { skipList.Add(i, i + 1); } for (var i = 1; i < 1000; i += 3) { skipList.Add(i, i + 1); } for (var i = 2; i < 1000; i += 3) { skipList.Add(i, i + 1); } }