Exemple #1
0
        public void ExceptionThrownWhenTryingToIndexateWithNonExistantKeyTwo()
        {
            ChainHashTable <int, int> hashTable = new ChainHashTable <int, int>();

            hashTable.Add(62, 1);
            int a = hashTable[1];
        }
Exemple #2
0
        private static void UseChainHashTable(string[] words)
        {
            var htble     = new ChainHashTable <string, int>(40009);
            var htbleHelp = new ChainHashTable <string, int>(40009);

            for (int i = 0; i < words.Length; i++)
            {
                var slovo = words[i];
                if (htble.Contains(slovo))
                {
                    htble[slovo]++;
                    htbleHelp[slovo]++;
                }
                else
                {
                    htble.Add(slovo, 1);
                    htbleHelp.Add(slovo, 1);
                }
            }

            foreach (var pair in htbleHelp)
            {
                if (pair.Value > 27)
                {
                    htble.Remove(pair.Key);
                }
            }
        }
Exemple #3
0
        public void CantAddTwoPairsWithSameKey()
        {
            ChainHashTable <int, int> hashTable = new ChainHashTable <int, int>();

            hashTable.Add(5, 5);
            hashTable.Add(5, 10);
        }
Exemple #4
0
        public void RemoveReturnsFalseWhenKeyDoesntExist()
        {
            ChainHashTable <int, int> hashTable = new ChainHashTable <int, int>();

            hashTable.Add(5, 5);
            Assert.AreEqual(false, hashTable.Remove(6));
        }
Exemple #5
0
        public void CountIncreasesAfterAdding()
        {
            ChainHashTable <int, int> hashTable = new ChainHashTable <int, int>();

            hashTable.Add(5, 5);
            Assert.AreEqual(1, hashTable.Count);
        }
Exemple #6
0
        public void ContainsReturnsCorrectValue()
        {
            ChainHashTable <int, int> hashTable = new ChainHashTable <int, int>();

            hashTable.Add(1, 1);
            Assert.AreEqual(true, hashTable.Contains(1));
            Assert.AreEqual(false, hashTable.Contains(2));
        }
Exemple #7
0
        public void CountDecreasesAfterRemoving()
        {
            ChainHashTable <int, int> hashTable = new ChainHashTable <int, int>();

            hashTable.Add(5, 5);
            hashTable.Remove(5);
            Assert.AreEqual(0, hashTable.Count);
        }
Exemple #8
0
        public void Add_ChainHashTable_AddedOneItem()
        {
            var hashTable = new ChainHashTable <int, int>();

            hashTable.Add(1, 1);
            var val = hashTable.ToArray();

            Assert.AreEqual((1, (1, 1)), (val.Length, val[0]));
        }
Exemple #9
0
        public void Retrieve_ChainHashTable_FoundProperValue()
        {
            var hashTable = new ChainHashTable <int, int>();

            hashTable.Add(1, 1);
            hashTable.Add(2, 15);
            hashTable.Add(3, 13);
            hashTable.Add(4, 10);

            var result = hashTable.Retrieve(3, out int found);

            Assert.AreEqual((result, found), (true, 13));
        }
Exemple #10
0
        public void CollectionIsEnumerable()
        {
            ChainHashTable <int, int> hashTable = new ChainHashTable <int, int>();

            for (int i = 0; i < 50; i++)
            {
                hashTable.Add(i, 0);
            }
            foreach (var pair in hashTable)
            {
                Assert.AreEqual(0, pair.Value);
            }
        }
Exemple #11
0
        public void CountIsZeroAfterCreation()
        {
            ChainHashTable <int, int> hashTable = new ChainHashTable <int, int>();

            Assert.AreEqual(0, hashTable.Count);
        }