Index: lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java diff -u lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java:1.1 lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java:1.2 --- lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java:1.1 Wed Oct 5 20:24:12 2005 +++ lutinutil/src/test/org/codelutin/util/HashMapMultiKeyTest.java Fri Nov 11 03:16:59 2005 @@ -23,9 +23,9 @@ * Created: 27 septembre 2005 12:28:03 CEST * * @author Benjamin POUSSIN - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ * - * Last update: $Date: 2005/10/05 20:24:12 $ + * Last update: $Date: 2005/11/11 03:16:59 $ * by : $Author: bpoussin $ */ @@ -106,6 +106,9 @@ HashMapMultiKey map = new HashMapMultiKey(null, HashMapMultiKey.WEAK); Object valeur = new ArrayList(); map.put(new HashMapMultiKey.Key().add("toto").add("titi").add("tutu"), valeur); + Object val = map.get(new HashMapMultiKey.Key().add("toto").add("titi").add("tutu")); + assertEquals(valeur, val); + val = null; valeur = null; System.gc(); valeur = map.get(new HashMapMultiKey.Key().add("toto").add("titi").add("tutu")); @@ -161,6 +164,33 @@ ArrayList values = map.getValues("titi"); assertEquals(1, values.size()); + } + + public void testWeakKeys() throws Exception { + HashMapMultiKey map = new HashMapMultiKey(HashMapMultiKey.WEAK, null); + 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("v3")); + map.put(new HashMapMultiKey.Key().add("toto").add("titi").add("tyty"), new JLabel("v4")); + + System.gc(); + + ArrayList values = map.getValues("titi"); + assertEquals(1, values.size()); + + Object val = map.get(new HashMapMultiKey.Key().add("toto").add("titi").add("tutu")); + assertEquals(valeur, val); + } + + + public void testEqualsRef() throws Exception { + Object key = new HashMapMultiKey.Key().add("toto").add("titi").add("tutu"); + Object key2 = new HashMapMultiKey.Key().add("toto").add("titi").add("tutu"); + key2 = new TransparenteWeakReference(key2); + + assertEquals(key, key2); + assertEquals(key2, key); } } // HashMapMultiKeyTest