From 1babc3207da7210d7d70c47307d91db496109f0d Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Wed, 21 Apr 2010 21:38:37 +0200 Subject: IntIntHashMap (and friends) is now Iterable. Added iterator testcase. --- .../com/jogamp/common/util/IntIntHashMapTest.java | 29 +++++++++++++++++ .../com/jogamp/common/util/LongIntHashMapTest.java | 36 +++++++++++++++++++--- 2 files changed, 61 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/junit/com/jogamp/common/util/IntIntHashMapTest.java b/test/junit/com/jogamp/common/util/IntIntHashMapTest.java index 18eeef6..f041123 100644 --- a/test/junit/com/jogamp/common/util/IntIntHashMapTest.java +++ b/test/junit/com/jogamp/common/util/IntIntHashMapTest.java @@ -4,6 +4,7 @@ package com.jogamp.common.util; import java.util.HashMap; +import java.util.Iterator; import java.util.Map.Entry; import java.util.Random; import org.junit.BeforeClass; @@ -39,6 +40,7 @@ public class IntIntHashMapTest { } } + /** * Test of put method, of class IntIntHashMap. */ @@ -75,6 +77,31 @@ public class IntIntHashMapTest { } } + + @Test + public void iteratorTest() { + + final IntIntHashMap intmap = new IntIntHashMap(iterations); + + for (int i = 0; i < iterations; i++) { + intmap.put(rndKeys[i], rndValues[i]); + } + + Iterator iterator = intmap.iterator(); + assertNotNull(iterator); + assertTrue(iterator.hasNext()); + + int n = 0; + while (iterator.hasNext()) { + IntIntHashMap.Entry entry = (IntIntHashMap.Entry)iterator.next(); + assertNotNull(entry); + n++; + } + assertEquals(intmap.size(), n); + +// out.println(intmap); + + } @Test public void benchmark() { @@ -83,6 +110,8 @@ public class IntIntHashMapTest { final IntIntHashMap intmap = new IntIntHashMap(1024); final HashMap map = new HashMap(1024); + out.println(intmap.getClass().getName()+" vs "+map.getClass().getName()); + out.println("put"); long time = currentTimeMillis(); for (int i = 0; i < iterations; i++) { diff --git a/test/junit/com/jogamp/common/util/LongIntHashMapTest.java b/test/junit/com/jogamp/common/util/LongIntHashMapTest.java index 67a610f..53aa252 100644 --- a/test/junit/com/jogamp/common/util/LongIntHashMapTest.java +++ b/test/junit/com/jogamp/common/util/LongIntHashMapTest.java @@ -3,6 +3,7 @@ */ package com.jogamp.common.util; +import java.util.Iterator; import java.util.HashMap; import java.util.Map.Entry; import java.util.Random; @@ -77,20 +78,47 @@ public class LongIntHashMapTest { } + @Test + public void iteratorTest() { + + final LongIntHashMap map = new LongIntHashMap(iterations); + + for (int i = 0; i < iterations; i++) { + map.put(rndKeys[i], rndValues[i]); + } + + Iterator iterator = map.iterator(); + assertNotNull(iterator); + assertTrue(iterator.hasNext()); + + int n = 0; + while (iterator.hasNext()) { + LongIntHashMap.Entry entry = (LongIntHashMap.Entry)iterator.next(); + assertNotNull(entry); + n++; + } + assertEquals(map.size(), n); + +// out.println(intmap); + + } + @Test public void benchmark() { // simple benchmark - final LongIntHashMap intmap = new LongIntHashMap(1024); + final LongIntHashMap intmap = new LongIntHashMap(1024); final HashMap map = new HashMap(1024); + out.println(intmap.getClass().getName()+" vs "+map.getClass().getName()); + out.println("put"); long time = currentTimeMillis(); for (int i = 0; i < iterations; i++) { intmap.put(rndKeys[i], rndValues[i]); } long intmapTime = (currentTimeMillis() - time); - out.println(" iimap: " + intmapTime+"ms"); + out.println(" limap: " + intmapTime+"ms"); time = currentTimeMillis(); @@ -106,7 +134,7 @@ public class LongIntHashMapTest { System.out.println(); System.out.println("get"); intmapTime = (currentTimeMillis() - time); - out.println(" iimap: " + intmapTime+"ms"); + out.println(" limap: " + intmapTime+"ms"); for (int i = 0; i < iterations; i++) { intmap.get(rndValues[i]); } @@ -122,7 +150,7 @@ public class LongIntHashMapTest { out.println(); out.println("remove"); intmapTime = (currentTimeMillis() - time); - out.println(" iimap: " + intmapTime+"ms"); + out.println(" limap: " + intmapTime+"ms"); for (int i = 0; i < iterations; i++) { intmap.remove(rndValues[i]); } -- cgit v1.2.3