static public void Main()
        {
            IHash hash;

            HashTable.HashTable hashTable;
            Console.WriteLine("Type:\n -0 to use first function,\n -1 to use second function.");
            ushort command = Convert.ToUInt16(Console.ReadLine());

            while (command > 1)
            {
                Console.WriteLine("Wrong input! Try again.");
                command = Convert.ToUInt16(Console.ReadLine());
            }
            if (command == 1)
            {
                hash = new Hash2();
            }
            else
            {
                hash = new Hash1();
            }
            hashTable = new HashTable.HashTable(hash);
            hashTable.Add(1);
            for (int i = 0; i < 1000; ++i)
            {
                hashTable.Add(51 * i);
            }
            Console.WriteLine(hashTable.Search(33));
            Console.WriteLine(hashTable.Search(102));
            hashTable.DeleteElement(51);
            hashTable.DeleteElement(0);
            Console.WriteLine(hashTable.Search(0));
            // hash.Print();
        }
 public void DeleteElement_2()
 {
     hashTable = new HashTable.HashTable(new Hash2());
     hashTable.DeleteElement(1);
     hashTable.Add(1);
     hashTable.DeleteElement(1);
     Assert.AreEqual(false, hashTable.Search(1));
 }
 public void DeleteElement_2()
 {
     hashTable = new HashTable.HashTable(new Hash2());
     hashTable.DeleteElement(1);
     hashTable.Add(1);
     hashTable.DeleteElement(1);
     Assert.AreEqual(false, hashTable.Search(1));
 }
 public static void Main()
 {
     HashTable hash = new HashTable();
     hash.Add(1);
     for (int i = 0; i < 1000; ++i)
     {
         hash.Add(51 * i);
     }
     Console.WriteLine(hash.Search(33));
     Console.WriteLine(hash.Search(102));
     hash.DeleteElement(51);
     hash.DeleteElement(0);
     Console.WriteLine(hash.Search(0));
     hash.Print();
 }