public void Baseline() { // Arrange var hash = (uint)typeof(LeafTests).GetHashCode(); var leaf = new CTrieSet <object> .Leaf(hash); // Validate Assert.AreEqual(hash, leaf.Hash); Assert.IsNull(leaf.Value); }
public void Int() { var trie = new CTrieSet <uint>(); var instance = typeof(CTrieTests); var hash = (uint)instance.GetHashCode(); trie[hash] = hash; Assert.AreEqual(hash, trie[hash]); }
public void Object() { var data = new object(); var trie = new CTrieSet <object>(); var hash = (uint)data.GetHashCode(); trie[hash] = data; Assert.AreSame(data, trie[hash]); }
public void Rotate() { // Arrange var hash = (uint)typeof(LeafTests).GetHashCode(); var leaf = new CTrieSet <object> .Leaf(hash); // Act hash = BitOperations.RotateLeft(hash, 6); leaf.Rotate(); // Validate Assert.AreEqual(hash, leaf.Hash); }
public void LoadCTrieSet() { var trie = new CTrieSet <Type>(); uint hash = 0; foreach (var type in TestTypes) { hash = (uint)type.GetHashCode(); trie[hash] = type; } Assert.IsNotNull(trie[hash]); }
public void LevelConflict() { var data1 = "First"; var data2 = "Second"; var trie = new CTrieSet <string>(); var hash1 = (uint)data1.GetHashCode(); var hash2 = (uint)hash1 + 1; trie[hash1] = data1; trie[hash2] = data2; Assert.AreSame(data1, trie[hash1]); Assert.AreSame(data2, trie[hash2]); }