Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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]);
        }
Ejemplo n.º 3
0
        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]);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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]);
        }
Ejemplo n.º 6
0
        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]);
        }