Beispiel #1
0
        public void Can_store_and_get_stored_item_count()
        {
            var map = new HashMapLeapfrog <int, string, IntEqualityComparer>();

            map.AddOrUpdate(42, "1");
            map.AddOrUpdate(42 + 32 + 32, "3");

            Assert.AreEqual(2, map.Count);
        }
Beispiel #2
0
        public void Can_update_a_stored_item_with_new_value()
        {
            var map = new HashMapLeapfrog <int, string, IntEqualityComparer>();

            map.AddOrUpdate(42, "1");
            map.AddOrUpdate(42, "3");

            Assert.AreEqual("3", map.GetValueOrDefault(42));
            Assert.AreEqual(1, map.Count);
        }
Beispiel #3
0
        public void Can_remove_the_stored_item()
        {
            var map = new HashMapLeapfrog <int, string, IntEqualityComparer>();

            map.AddOrUpdate(42, "1");
            map.AddOrUpdate(42 + 32, "2");
            map.AddOrUpdate(42 + 32 + 32, "3");

            map.Remove(42 + 32);

            Assert.AreEqual(2, map.Count);
        }
Beispiel #4
0
        public void Can_add_key_with_0_hash_code()
        {
            var map = new HashMapLeapfrog <int, string, IntEqualityComparer>();

            map.AddOrUpdate(0, "aaa");
            map.AddOrUpdate(0 + 32, "2");
            map.AddOrUpdate(0 + 32 + 32, "3");

            string value;

            Assert.IsTrue(map.TryFind(0, out value));

            Assert.AreEqual("aaa", value);
        }
Beispiel #5
0
        public void Can_quickly_find_the_scattered_items_with_the_same_cache()
        {
            var map = new HashMapLeapfrog <int, string, IntEqualityComparer>();

            map.AddOrUpdate(42, "1");
            map.AddOrUpdate(43, "a");
            map.AddOrUpdate(42 + 32, "2");
            map.AddOrUpdate(45, "b");
            map.AddOrUpdate(46, "c");
            map.AddOrUpdate(42 + 32 + 32, "3");

            string value;

            Assert.IsTrue(map.TryFind(42 + 32, out value));
            Assert.AreEqual("2", value);

            Assert.IsTrue(map.TryFind(42 + 32 + 32, out value));
            Assert.AreEqual("3", value);
        }
Beispiel #6
0
        public void Can_store_and_retrieve_value_from_map()
        {
            var map = new HashMapLeapfrog <int, string, IntEqualityComparer>();

            map.AddOrUpdate(42, "1");
            map.AddOrUpdate(42 + 32, "2");

            // interrupt the keys with ne key
            map.AddOrUpdate(43, "a");
            map.AddOrUpdate(43 + 32, "b");

            map.AddOrUpdate(42 + 32 + 32, "3");

            Assert.AreEqual("1", map.GetValueOrDefault(42));
            Assert.AreEqual("2", map.GetValueOrDefault(42 + 32));
            Assert.AreEqual("3", map.GetValueOrDefault(42 + 32 + 32));
            Assert.AreEqual(null, map.GetValueOrDefault(42 + 32 + 32 + 32));

            Assert.AreEqual("a", map.GetValueOrDefault(43));
        }