コード例 #1
0
        public void Clear_Removes_Items()
        {
            var valid = false;
            var ht    = new SimpleHashTable(1);

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

            try
            {
                ht.Get(1);
            }
            catch (ArgumentException)
            {
                valid = true;
            }

            Assert.IsTrue(valid);

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

            Assert.IsTrue(valid);
        }
コード例 #2
0
        public void Finds_Correct_Value_In_Overloaded_Bucket()
        {
            var ht = new SimpleHashTable(1);

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

            Assert.AreEqual(ht.Get(2), 2);
        }
コード例 #3
0
        public void Finds_Correct_Value_In_Bucket()
        {
            var ht = new SimpleHashTable();

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

            Assert.AreEqual(ht.Get(1), 1);
        }
コード例 #4
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);
        }
コード例 #5
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);
        }
コード例 #6
0
        public void Rejects_Missing_Bucket()
        {
            var ht    = new SimpleHashTable();
            var valid = true;

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

            Assert.IsFalse(valid);
        }
コード例 #7
0
        public void Rejects_Null_Keys()
        {
            var ht    = new SimpleHashTable();
            var valid = true;

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

            Assert.IsFalse(valid);
        }
コード例 #8
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);
        }
コード例 #9
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.Get(2);
            }
            catch (ArgumentException)
            {
                valid = false;
            }

            Assert.IsFalse(valid);
        }