Exemplo n.º 1
0
        public void NawHashTable_Add_Twice_ShouldDoLinearProbing()
        {
            NawHashTable hashtable = new NawHashTable(10);

            hashtable.Add(naw0);
            hashtable.Add(naw0);
            hashtable.Show();

            var setters = Logger.Instance.LogItems.Where(li => li.ArrayAction == ArrayAction.SET).ToArray();

            Assert.AreEqual(2, setters.Count(), "\n\nNawHashTable.Add(): Er zouden twee elementen toegevoegd moeten zijn aan de array");
            Assert.AreEqual(5, setters[1].Index1, "\n\nNawHashTable.Add(): De eerste NAW wordt op plek 4 gezet, de tweede zou op plek 5 moeten komen");
        }
Exemplo n.º 2
0
        public void NawHashTable_Add_Thrice_LinearProbingShouldWrap()
        {
            NawHashTable hashtable = new NawHashTable(10);

            hashtable.Add(naw2);
            hashtable.Add(naw2);
            hashtable.Add(naw2);

            hashtable.Show();
            var setters = Logger.Instance.LogItems.Where(li => li.ArrayAction == ArrayAction.SET).ToArray();

            Assert.AreEqual(3, setters.Count(), "\n\nNawHashTable.Add(): Er zouden twee elementen toegevoegd moeten zijn aan de array");
            Assert.AreEqual(0, setters[2].Index1, "\n\nNawHashTable.Add(): De eerste NAW wordt op plek 8 gezet, de tweede op 9. De derde moet op plek 0 komen te staan.");
        }
Exemplo n.º 3
0
        public void NawHashTable_Add_ShouldAddToArray()
        {
            // Arrange
            NawHashTable hashtable = new NawHashTable(10);
            int          hash      = (naw0.Naam.GetHashCode() % 10);

            bool result = hashtable.Add(naw0);

            hashtable.Show();

            Assert.IsTrue(result, "De returnwaarde geeft aan dat het element niet is toegevoegd ?");
            var setters = Logger.Instance.LogItems.Where(li => li.ArrayAction == ArrayAction.SET).ToArray();

            Assert.AreEqual(1, hashtable.Count, "\n\nNawHashTable.Add(): Count geeft niet juiste aantal items terug.");
            Assert.AreEqual(1, setters.Count(), "\n\nNawHashTable.Add(): Bij in toevoegen van 1 item aan een lege hashtable zou maar 1 index moeten worden beschreven.");
            Assert.AreEqual(4, setters.First().Index1, "\n\nNawHashTable.Add(): De GetHashCode van de naam in de NAW is {0}. De absolute waarde hiervan modulo 10 is 4. Dit is de index waarop de waarde moet worden gezet i.p.v. op {1}.", hash, setters.First().Index1);
        }