Index: lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java diff -u lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java:1.6 lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java:1.7 --- lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java:1.6 Mon May 22 12:40:50 2006 +++ lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java Tue May 23 13:55:52 2006 @@ -23,9 +23,9 @@ * Created: 27 septembre 2005 12:28:03 CEST * * @author Benjamin POUSSIN - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ * - * Last update: $Date: 2006/05/22 12:40:50 $ + * Last update: $Date: 2006/05/23 13:55:52 $ * by : $Author: bpoussin $ */ @@ -95,9 +95,11 @@ WeakReference ref = new WeakReference(value); System.out.println("ob:" + ref.get()); System.gc(); + Thread.yield(); System.out.println("ob:" + ref.get()); value = null; System.gc(); + Thread.yield(); System.out.println("ob:" + ref.get() + " isEnqueued:" + ref.isEnqueued()); } @@ -110,6 +112,7 @@ val = null; valeur = null; System.gc(); + Thread.yield(); valeur = map.get(new HashMapMultiKey.Key().add("toto").add("titi").add("tutu")); assertEquals(null, valeur); assertEquals(0, map.size()); @@ -125,6 +128,7 @@ map.put(new HashMapMultiKey.Key().add("toto").add("titi").add("tyty"), new JLabel("v3")); System.gc(); + Thread.yield(); System.out.println("%%%%%%%%%% size: " + map.size()); @@ -148,6 +152,7 @@ map.put(new HashMapMultiKey.Key().add("toto").add("titi").add("tyty"), new JLabel("v3")); System.gc(); + Thread.yield(); Set keys = map.getKeys("titi"); assertEquals(1, keys.size()); @@ -162,6 +167,7 @@ map.put(new HashMapMultiKey.Key().add("toto").add("titi").add("tyty"), new JLabel("v4")); System.gc(); + Thread.yield(); ArrayList values = map.getValues("titi"); assertEquals(1, values.size()); @@ -176,6 +182,7 @@ map.put(new HashMapMultiKey.Key().add("toto").add("titi").add("tyty"), new JLabel("v4")); System.gc(); + Thread.yield(); ArrayList values = map.getValues("titi"); assertEquals(1, values.size()); @@ -221,5 +228,23 @@ } } + public void testQueueRef() throws Exception { + HashMapMultiKey map = new HashMapMultiKey(HashMapMultiKey.HARD, HashMapMultiKey.WEAK); + Object valeur = new ArrayList(); + + Object key = new HashMapMultiKey.Key().add("toto").add("titi").add("tutu"); + map.put(key, valeur); + map.put(new HashMapMultiKey.Key().add("tata").add("titi").add("tutu"), new JLabel("v2")); + map.put(new HashMapMultiKey.Key().add("toto").add("titi").add("tyty"), new JLabel("v3")); + map.put(new HashMapMultiKey.Key().add("toto").add("titi").add("double"), 12.0); + map.put(new HashMapMultiKey.Key().add("toto").add("tutu").add("double"), 12.0); + + System.gc(); + Thread.yield(); + + System.out.println("%%%%%%%%%% size: " + map.size()); + assertEquals(1, map.size()); + } + } // HashMapMultiKeyTest