Пример #1
0
        public void Leaves_Correct_Value_In_Bucket_After_Remove()
        {
            var ht = new SimpleHashTable();

            ht.Add(1, 1);
            ht.Add(50, 50);
            ht.Remove(50);

            Assert.AreEqual(ht.Get(1), 1);
        }
Пример #2
0
        public void Leaves_Correct_Value_In_Overloaded_Bucket_After_Remove()
        {
            var ht = new SimpleHashTable(1);

            ht.Add(1, 1);
            ht.Add(2, 2);
            ht.Remove(1);

            Assert.AreEqual(ht.Get(2), 2);
        }
Пример #3
0
        public void Rejects_Missing_Bucket()
        {
            var ht    = new SimpleHashTable();
            var valid = true;

            try
            {
                ht.Remove(1);
            }
            catch (ArgumentException)
            {
                valid = false;
            }

            Assert.IsFalse(valid);
        }
Пример #4
0
        public void Rejects_Null_Key()
        {
            var ht    = new SimpleHashTable();
            var valid = true;

            try
            {
                ht.Remove(null);
            }
            catch (ArgumentNullException)
            {
                valid = false;
            }

            Assert.IsFalse(valid);
        }
Пример #5
0
        public void Removes_Correct_Value_In_Bucket()
        {
            var valid = false;
            var ht    = new SimpleHashTable();

            ht.Add(1, 1);
            ht.Add(50, 50);
            ht.Remove(50);

            try
            {
                ht.Get(50);
            }
            catch (ArgumentException)
            {
                valid = true;
            }
            Assert.IsTrue(valid);
        }
Пример #6
0
        public void Rejects_Missing_Key_In_Overloaded_Bucket()
        {
            //all go into same bucket
            var ht = new SimpleHashTable(1);

            ht.Add(1, 1);
            var valid = true;

            try
            {
                ht.Remove(2);
            }
            catch (ArgumentException)
            {
                valid = false;
            }

            Assert.IsFalse(valid);
        }
Пример #7
0
        public static void HashTable()
        {
            SimpleHashTable <string, int> simpleHash = new SimpleHashTable <string, int>();

            simpleHash.Add("hello", 1);
            simpleHash.Add("world", 2);
            simpleHash.Add("this", 3);
            simpleHash.Add("is", 4);

            Assert.That(simpleHash.ContainsKey("world") == true);
            Assert.That(simpleHash.ContainsKey("nohash") == false);

            Assert.That(simpleHash["is"] == 4);
            Assert.That(simpleHash["hello"] == 1);
            simpleHash["hello"] = 10;

            Assert.That(simpleHash["hello"] == 10);
            simpleHash.Remove("this");
            Assert.That(simpleHash.ContainsKey("this") == false);
        }