#ifndef HASHTABLETEST_H
#define HASHTABLETEST_H

/*! 
\brief Test the hash table classes.
*/
class hashtabletest
{
  static boolc insertandretrievetest
  (
    uintc n,
    uintc hashtablesize
  ); 
public:

  /** Brief description of each test. */
  static string doc[];

  /** Basic interactive looking up a dictionary test. */
  static void test01();

  /** Unit test: Inserting and retrieving integers. */
  static int test02unit();

  /** Unit test: hash table same size as data, inserting and retriving integers and timming. */
  static int test03unit();

  /** Unit test: hashtable2 random integer insert and retrieving. */
  static int test04unit();

  /** Iterating through hash table code - prelude to hashtableiterator. */
  static void test05();
  /** hashtableiterator - iterating though a hashtable container. */
  static void test06();
  /** Interatively remove elements from a hash table. */
  static void test07();
  /** Write to a hash element, changing it. */
  static void test08();


};



#endif



