public void InsertionAfterClear() { var dict = new FastDictionary <int, int>(200); for (int i = 0; i < 100; i++) { dict[i] = i; } dict.Clear(); Assert.Equal(0, dict.Count); Assert.Equal(256, dict.Capacity); for (int i = 0; i < 100; i += 10) { dict[i] = i; } for (int i = 0; i < 100; i++) { if (i % 10 == 0) { Assert.True(dict.Contains(i)); } else { Assert.False(dict.Contains(i)); } } }
public void ConsecutiveInsertsWithShrink() { var dict = new FastDictionary <int, int>(); for (int i = 0; i < 100; i++) { dict[i] = i; } dict.Clear(); for (int i = 0; i < 33; i++) { dict[i] = i; } dict.Remove(32); int value; Assert.True(dict.TryGetValue(0, out value)); Assert.Equal(32, dict.Count); Assert.True(dict.Capacity > 32); }
public void Clear() { var dict = new FastDictionary <int, int>(200); for (int i = 0; i < 100; i++) { dict[i] = i; } dict.Clear(); Assert.Equal(0, dict.Count); Assert.Equal(256, dict.Capacity); for (int i = 0; i < 100; i++) { Assert.False(dict.Contains(i)); } }