#include "../lout/object.hh" #include "../lout/container.hh" using namespace lout::object; using namespace lout::container::typed; void testHashSet () { puts ("--- testHashSet ---"); HashSet h(true); h.put (new String ("one")); h.put (new String ("two")); h.put (new String ("three")); puts (h.toString()); } void testHashTable () { puts ("--- testHashTable ---"); HashTable h(true, true); h.put (new String ("one"), new Integer (1)); h.put (new String ("two"), new Integer (2)); h.put (new String ("three"), new Integer (3)); puts (h.toString()); h.put (new String ("one"), new Integer (4)); h.put (new String ("two"), new Integer (5)); h.put (new String ("three"), new Integer (6)); puts (h.toString()); } void testVector1 () { puts ("--- testVector (1) ---"); Vector v (true, 1); v.put (new String ("one")); v.put (new String ("two")); v.put (new String ("three")); puts (v.toString()); v.sort (); puts (v.toString()); } void testVector2 () { puts ("--- testVector (2) ---"); Vector v (true, 1); v.insertSorted (new String ("one")); puts (v.toString()); v.insertSorted (new String ("two")); puts (v.toString()); v.insertSorted (new String ("three")); puts (v.toString()); v.insertSorted (new String ("five")); puts (v.toString()); v.insertSorted (new String ("six")); puts (v.toString()); v.insertSorted (new String ("four")); puts (v.toString()); for (int b = 0; b < 2; b++) { bool mustExist = b; printf ("mustExist = %s\n", mustExist ? "true" : "false"); String k ("alpha"); printf (" '%s' -> %d\n", k.chars(), v.bsearch (&k, mustExist)); for (Iterator it = v.iterator(); it.hasNext(); ) { String *k1 = it.getNext(); printf (" '%s' -> %d\n", k1->chars(), v.bsearch (k1, mustExist)); char buf[64]; strcpy (buf, k1->chars()); strcat (buf, "-var"); String k2 (buf); printf (" '%s' -> %d\n", k2.chars(), v.bsearch (&k2, mustExist)); } } } int main (int argc, char *argv[]) { testHashSet (); testHashTable (); testVector1 (); testVector2 (); return 0; }