-- $Date: 2003/12/22 13:52:26 $
-- $Revision: 1.8 $
-- $Author: jcrocholl $

with Ada.Text_IO;

with String_Hash_Tables;

procedure Test_Suite is

   package Integer_String_Hash_Tables is
     new String_Hash_Tables(Integer);
   use Integer_String_Hash_Tables;

   H : Integer_String_Hash_Tables.Hash_Table;
begin
   for C in Character'('A') .. 'Z' loop
      Put(H, "zero" & C, 0);
      Put(H, "one" & C, 1);
      Put(H, "two" & C, 2);
      Put(H, "three" & C, 3);
      Put(H, "four" & C, 4);
      Put(H, "five" & C, 5);
      Put(H, "six" & C, 6);
      Put(H, "seven" & C, 7);
      Put(H, "eight" & C, 8);
      Put(H, "nine" & C, 9);
   end loop;
   for C in Character'('A') .. 'Z' loop
      pragma Assert(Get(H, "zero" & C) = 0);
      pragma Assert(Get(H, "one" & C) = 1);
      pragma Assert(Get(H, "two" & C) = 2);
      pragma Assert(Get(H, "three" & C) = 3);
      pragma Assert(Get(H, "four" & C) = 4);
      pragma Assert(Get(H, "five" & C) = 5);
      pragma Assert(Get(H, "six" & C) = 6);
      pragma Assert(Get(H, "seven" & C) = 7);
      pragma Assert(Get(H, "eight" & C) = 8);
      pragma Assert(Get(H, "nine" & C) = 9);
      null;
   end loop;
   pragma Debug(Print_Usage(H));
   pragma Debug(Ada.Text_IO.Put_Line("all tests succeeded"));
end Test_Suite;