summaryrefslogtreecommitdiffstats
path: root/src/junit/com
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-10-23 06:26:34 +0200
committerSven Gothel <[email protected]>2010-10-23 06:26:34 +0200
commit03b9741af9d3088afe6833553be54b14469922fc (patch)
tree795f21fbfa30966ddf5309f8c98749c2d90168fe /src/junit/com
parent68d1b38046e1c40bc937ba17ed9aac6e99f608b8 (diff)
ArrayHashSet: Add 'getOrAdd(key)' identity method to conveniently get the identity or add it, if not exist yet
Diffstat (limited to 'src/junit/com')
-rw-r--r--src/junit/com/jogamp/common/util/TestArrayHashSet01.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/junit/com/jogamp/common/util/TestArrayHashSet01.java b/src/junit/com/jogamp/common/util/TestArrayHashSet01.java
index 5486671..2946959 100644
--- a/src/junit/com/jogamp/common/util/TestArrayHashSet01.java
+++ b/src/junit/com/jogamp/common/util/TestArrayHashSet01.java
@@ -107,6 +107,19 @@ public class TestArrayHashSet01 {
Assert.assertTrue(!l.add(q)); // add same
Assert.assertTrue(!l.add(p6_22_34)); // add equivalent
+
+ q = (Dummy) l.getOrAdd(p6_22_34); // not added test
+ Assert.assertNotNull(q);
+ Assert.assertEquals(p6_22_34, q);
+ Assert.assertTrue(p6_22_34.hashCode() == q.hashCode());
+ Assert.assertTrue(p6_22_34 != q); // diff reference
+
+ Dummy p1_2_3 = new Dummy(1, 2, 3); // a new one ..
+ q = (Dummy) l.getOrAdd(p1_2_3); // added test
+ Assert.assertNotNull(q);
+ Assert.assertEquals(p1_2_3, q);
+ Assert.assertTrue(p1_2_3.hashCode() == q.hashCode());
+ Assert.assertTrue(p1_2_3 == q); // _same_ reference, since getOrAdd added it
}
public static void main(String args[]) throws IOException {