Ejemplo n.º 1
0
        public void TableContainsItem()
        {
            NLBHT knuthTable = new NLBHT();

            knuthTable.SetHashFunction(new MultFunc((Math.Sqrt(5) - 1) / 2));
            knuthTable.Put("Jacob", 15);
            knuthTable.Put("Dog", "Candy");

            Assert.AreEqual(knuthTable.Contains("Jacob"), true);
            // Assert.AreEqual(knuthTable.Contains("jacobi"), false);
        }
Ejemplo n.º 2
0
        public void PrintHashTable()
        {
            NLBHT knuthTable = new NLBHT();

            knuthTable.SetHashFunction(new MultFunc((Math.Sqrt(5) - 1) / 2));
            knuthTable.Put("Paul", new MultFunc(1 / 3));
            knuthTable.Put("Jacob", 15);
            knuthTable.Put("Paul", 1234);
            knuthTable.Put("Dog", "Candy");

            Console.Write(knuthTable.ToString());
        }
Ejemplo n.º 3
0
        public void CreateHashtable()
        {
            NLBHT knuthTable = new NLBHT();

            knuthTable.SetHashFunction(new MultFunc((Math.Sqrt(5) - 1) / 2));
            knuthTable.Put("Paul", new MultFunc(1 / 3));
            knuthTable.Put("Jacob", 15);
            knuthTable.Put("Dog", "Candy");

            // Assert.AreEqual(knuthTable.Count, 3);
            Assert.AreEqual(expected: 7, actual: knuthTable.TabSize);
        }
Ejemplo n.º 4
0
        public void AddCollection()
        {
            ICollection coll = new List <int>()
            {
                13, 7, 11, 8, 19
            };
            NLBHT table = new NLBHT(new MultFunc((Math.Sqrt(5) - 1) / 2));

            table.Put(coll);

            Assert.AreEqual(expected: coll.Count, actual: table.Count);
        }
Ejemplo n.º 5
0
        public void CheckResizeTable()
        {
            NLBHT knuthTable = new NLBHT();

            knuthTable.SetHashFunction(new MultFunc((Math.Sqrt(5) - 1) / 2));
            knuthTable.Put("Paul", new MultFunc(1 / 3));
            knuthTable.Put("Jacob", 15);
            knuthTable.Put("Dog", "Candy");
            knuthTable.Put("Gregory", 10);

            Assert.AreEqual(knuthTable.TabSize, 6);
            Console.WriteLine(knuthTable.ToString());
        }
Ejemplo n.º 6
0
        public void AddItems(int size)
        {
            NLBHT  table        = new NLBHT(new MultFunc((Math.Sqrt(5) - 1) / 2));
            string fileLocation = "../../../wikiwords.txt";
            var    tuples       = WordParser.ParseFromFile(fileLocation, numLines: size);

            foreach (var tuple in tuples)
            {
                table.Put(tuple.Item1, tuple.Item2);
            }
            // Assert.AreEqual(table.Count, 100);
            Console.WriteLine(table.TabSize);
            Console.WriteLine("Table load factor = {0}", table.LoadFactor);
        }
Ejemplo n.º 7
0
        public void TryPut()
        {
            NLBHT knuthTable = new NLBHT();

            try
            {
                knuthTable.SetHashFunction(new ModFunc());
                knuthTable.Put('c', new MultFunc(1 / 3));
                knuthTable.Put('c', 15);
            } catch (ArgumentException ex)
            {
                Console.WriteLine("Attempted to add duplicated key");
            }
        }
Ejemplo n.º 8
0
        public void ClearTable()
        {
            NLBHT knuthTable = new NLBHT();

            knuthTable.SetHashFunction(new ModFunc());
            knuthTable.Put("Paul", new MultFunc(1 / 3));
            knuthTable.Put("Jacob", 15);
            knuthTable.Put("Dog", "Candy");
            knuthTable.Put("Gregory", 10);
            Console.WriteLine(knuthTable.ToString());

            knuthTable.Clear();
            Console.WriteLine(knuthTable.ToString());
        }
Ejemplo n.º 9
0
        public void CanRemoveItem()
        {
            NLBHT knuthTable = new NLBHT();

            knuthTable.SetHashFunction(new ModFunc());
            knuthTable.Put("Paul", new MultFunc(1 / 3));
            knuthTable.Put("Jacob", 15);
            knuthTable.Put("Dog", "Candy");
            knuthTable.Put("Gregory", 10);
            Console.WriteLine(knuthTable.ToString());

            knuthTable.Remove("Dog");
            Console.WriteLine("After removal");
            Console.WriteLine(knuthTable.ToString());
            // Assert.AreEqual(knuthTable.Count, 3);
        }