From 03b9741af9d3088afe6833553be54b14469922fc Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 23 Oct 2010 06:26:34 +0200 Subject: ArrayHashSet: Add 'getOrAdd(key)' identity method to conveniently get the identity or add it, if not exist yet --- src/junit/com/jogamp/common/util/TestArrayHashSet01.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/junit/com/jogamp/common/util') 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 { -- cgit v1.2.3