public void SetAndMaintainCount() { var rd = new RouletteDictionary <string, int>(1000, StringComparer.Ordinal); for (int i = 0; i < 10; i++) { rd[i.ToString()] = i; } rd.SetAndMaintainCount("foo", 42); Assert.Equal(10, rd.Count); Assert.True(rd.ContainsKey("foo")); }
public void RemoveAddAgain() { var rd = new RouletteDictionary <string, int>(); for (int i = 0; i < 10; i++) { rd[i.ToString()] = i; } rd.Remove("7"); Assert.Equal(9, rd.Count); Assert.False(rd.ContainsKey("7")); Assert.True(rd.ContainsKey("8")); // put it back in, make sure everything's still ok: rd["7"] = 7; Assert.Equal(10, rd.Count); for (int i = 0; i < 10; i++) { Assert.Equal(i, rd[i.ToString()]); } }