Exemple #1
0
        public void Delete_Twice(int[] items, int capacity)
        {
            int  item;
            bool success;
            var  hashtable = new CrackingTheCodingInterview.DataStructures.Hashtable.MyHashtable <int>(capacity);
            int  n         = items.Length;

            for (int i = 0; i < n; i++)
            {
                hashtable.Add($"item {items[i]}", items[i]);
            }

            item = hashtable.Get("item 10");
            Assert.AreEqual(10, item);
            success = hashtable.Delete("item 10");
            Assert.AreEqual(--n, hashtable.Count);
            Assert.AreEqual(0, hashtable.Get("item 10"));
            Assert.IsTrue(success);

            item = hashtable.Get("item 10");
            Assert.AreEqual(0, item);
            success = hashtable.Delete("item 10");
            Assert.AreEqual(n, hashtable.Count);
            Assert.AreEqual(0, hashtable.Get("item 10"));
            Assert.IsFalse(success);
        }
Exemple #2
0
        public void Update(int[] items, int capacity, string key, int expected)
        {
            var hashtable = new CrackingTheCodingInterview.DataStructures.Hashtable.MyHashtable <int>(capacity);

            for (int i = 0; i < items.Length; i++)
            {
                hashtable.Add($"item {items[i]}", items[i]);
            }

            hashtable.Update(key, expected);
            var actual = hashtable.Get(key);

            Assert.AreEqual(expected, actual);
        }