public void CritBitAddManaged() { var critbit = new CritBitTree <object>(); foreach (var b in _bytes) { critbit.Add(b, null); } }
public void Setup() { var random = new Random(1234); for (int i = 0; i < _bytes.Length; i++) { var bytes = new byte[20]; for (int j = 0; j < 20; j++) { bytes[j] = (byte)Chars[random.Next(0, 15)]; } _bytes[i] = bytes; _hashSet.Add(bytes); _dictionary.Add(bytes, null); _concurrentDictionary.TryAdd(bytes, null); _critBitTree.Add(bytes, null); _critBitTreeUnmanaged.Add(bytes); } }
public void TestMethod1() { var critBitTree = new CritBitTree <string>(); var helloWorldBytes = Encoding.ASCII.GetBytes(HelloWorldString); var result = critBitTree.Add(helloWorldBytes, HelloWorldString); Assert.IsTrue(result); Assert.IsTrue(critBitTree.ContainsKey(helloWorldBytes)); result = critBitTree.Add(helloWorldBytes, HelloWorldString); Assert.IsFalse(result); var testBytes = Encoding.ASCII.GetBytes(TestString); result = critBitTree.Add(testBytes, TestString); Assert.IsTrue(result); Assert.IsTrue(critBitTree.ContainsKey(testBytes)); Assert.IsFalse(critBitTree.ContainsKey(Encoding.ASCII.GetBytes("alsdjfaösfdölkjsa"))); result = critBitTree.Add(testBytes, null); Assert.IsFalse(result); Assert.IsTrue(critBitTree.ContainsKey(testBytes)); var helloTestBytes = Encoding.ASCII.GetBytes(HelloTestString); result = critBitTree.Add(helloTestBytes, HelloTestString); Assert.IsTrue(result); result = critBitTree.Add(helloTestBytes, null); Assert.IsFalse(result); result = critBitTree.Add(helloTestBytes, null); Assert.IsFalse(result); result = critBitTree.Add(helloTestBytes, null); Assert.IsFalse(result); result = critBitTree.Add(helloTestBytes, null); Assert.IsFalse(result); Assert.IsTrue(critBitTree.ContainsKey(helloWorldBytes)); Assert.IsTrue(critBitTree.ContainsKey(helloTestBytes)); Assert.IsTrue(critBitTree.ContainsKey(testBytes)); Assert.IsFalse(critBitTree.ContainsKey(Encoding.ASCII.GetBytes("Hello my test"))); Assert.IsFalse(critBitTree.ContainsKey(Encoding.ASCII.GetBytes("asf"))); Assert.IsFalse(critBitTree.ContainsKey(Encoding.ASCII.GetBytes("ulululu"))); Assert.IsTrue(critBitTree.Add(Encoding.ASCII.GetBytes("ulululu"), "ulululu")); Assert.IsTrue(critBitTree.Add(Encoding.ASCII.GetBytes("ulululu1"), "ulululu1")); Assert.IsTrue(critBitTree.Add(Encoding.ASCII.GetBytes("ulululu2"), "ulululu2")); Assert.IsTrue(critBitTree.Add(Encoding.ASCII.GetBytes("ulululu3"), "ulululu3")); Assert.IsTrue(critBitTree.Add(Encoding.ASCII.GetBytes("ulululu4"), "ulululu4")); var longBytes = new byte[1000]; Assert.IsTrue(critBitTree.Add(longBytes, "Long bytes")); Assert.IsTrue(critBitTree.ContainsKey(longBytes)); Assert.IsFalse(critBitTree.Remove(Encoding.ASCII.GetBytes("asdf"))); var count = critBitTree.Count(); Assert.IsTrue(critBitTree.Remove(helloWorldBytes)); Assert.IsTrue(critBitTree.Count() == count - 1); Assert.IsFalse(critBitTree.ContainsKey(helloWorldBytes)); Assert.IsTrue(critBitTree.ContainsKey(testBytes)); }