aboutsummaryrefslogtreecommitdiff
path: root/test/containers.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/containers.cc')
-rw-r--r--test/containers.cc29
1 files changed, 27 insertions, 2 deletions
diff --git a/test/containers.cc b/test/containers.cc
index 9667564e..646624aa 100644
--- a/test/containers.cc
+++ b/test/containers.cc
@@ -4,6 +4,21 @@
using namespace lout::object;
using namespace lout::container::typed;
+void testHashSet ()
+{
+ HashSet<String> h(true);
+
+ h.put (new String ("one"));
+ h.put (new String ("two"));
+ h.put (new String ("three"));
+
+ Iterator<String> it = h.iterator ();
+ while (it.hasNext ()) {
+ String *o = it.getNext ();
+ printf ("%s\n", o->chars());
+ }
+}
+
void testHashTable ()
{
HashTable<String, Integer> h(true, true);
@@ -12,8 +27,17 @@ void testHashTable ()
h.put (new String ("two"), new Integer (2));
h.put (new String ("three"), new Integer (3));
- Iterator<String> it = h.iterator ();
- while (it.hasNext ()) {
+ for (Iterator<String> it = h.iterator (); it.hasNext (); ) {
+ String *k = it.getNext ();
+ Integer *v = h.get (k);
+ printf ("%s -> %d\n", k->chars(), v->getValue());
+ }
+
+ h.put (new String ("one"), new Integer (4));
+ h.put (new String ("two"), new Integer (5));
+ h.put (new String ("three"), new Integer (6));
+
+ for (Iterator<String> it = h.iterator (); it.hasNext (); ) {
String *k = it.getNext ();
Integer *v = h.get (k);
printf ("%s -> %d\n", k->chars(), v->getValue());
@@ -22,6 +46,7 @@ void testHashTable ()
int main (int argc, char *argv[])
{
+ testHashSet ();
testHashTable ();
return 0;