package org.freehep.util.test; import java.util.Enumeration; import java.util.Iterator; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; import junit.textui.TestRunner; import org.freehep.util.DoubleHashtable; /** * * @author duns * @version $Id: DoubleHashtableTest.java 8584 2006-08-10 23:06:37Z duns $ */ public class DoubleHashtableTest extends TestCase { public DoubleHashtableTest(java.lang.String testName) { super(testName); } public static Test suite() { TestSuite suite = new TestSuite(DoubleHashtableTest.class); return suite; } public void testTable() { DoubleHashtable table = new DoubleHashtable(); assertTrue(table.isEmpty()); table.put("Donszelmann", "Mark", "CERN"); table.put("Donszelmann", "Mark", "SLAC"); table.put("Donszelmann", "Niels", "Knoworries"); table.put("Johnson", "Tony", "SLAC"); table.put(null, "Mark", "Family"); table.put("Donszelmann", null, "Family"); table.put(null, null, "Family"); table.put("Perl", "Joseph", null); assertFalse(table.isEmpty()); assertNotNull(table.get("Donszelmann")); assertNotNull(table.get("Donszelmann", "Mark")); assertEquals(table.get("Donszelmann", "Mark"),"SLAC"); assertNotNull(table.get("Donszelmann", null)); assertEquals(table.get("Donszelmann", null),"Family"); assertNotNull(table.get(null, null)); assertNotNull(table.get(null, "Mark")); assertTrue(table.containsKey("Perl", "Joseph")); assertNull(table.get("Perl", "Joseph")); table.remove("Johnson", "Tony"); assertNull(table.get("Johnson", "Tony")); int count = 0; for (Enumeration e=table.elements(); e.hasMoreElements(); ) { e.nextElement(); count++; } assertEquals(count,table.size()); for (Iterator i=table.iterator(); i.hasNext(); ) { String value = (String)i.next(); if ((value != null) && value.equals("SLAC")) { i.remove(); } } assertNull(table.get("Donszelmann","Mark")); table.clear(); assertTrue(table.isEmpty()); } public static void main(java.lang.String[] args) { TestRunner.run(suite()); } }