Posted by: Java_help April 13, 2011
Java
Login in to Rate this Post:     0       ?        
Thanks a lot Prankster! I really appreciate it..here is the
fileMultiHashMapTest.java



import java.util.*;
public class MultiHashMapTest {
    /** Objects to be used as keys */
    private static final Object o1 = new Object();
    private static final Object o2 = new Object();
    private static final Object o3 = new Object();
    private static final Object o4 = new Object();
    /** Strings to be used as values */
    private static final String s1 = "one";
    private static final String s2 = "two";
    private static final String s3 = "three";
    private static final String s4 = "four";
    /** Collections to be used to test */
    private static final Collection c12 = new Vector();
    private static final Collection c12n = new Vector();
    /** Main entry point to program */
    public static void main(String[] args) {
     setupCollections();
     try {
         testMHM();
     } catch (Exception excn) {
         excn.printStackTrace();
     }
    }
    public static void setupCollections() {
     c12.add(s1);
     c12.add(s2);
     c12n.addAll(c12);
     c12n.add(null);
    }
    public static void testMHM() throws CheckFailedException {
     MultiHashMap mhm = new MultiHashMap();
     check("Assigning value to a key that was not in before", mhm.put(o1, s1) == null);
     check("Verifying association caused by put", s1.equals(mhm.get(o1)));
     check("Verifying return value when reassigning a key to a value", s1.equals(mhm.put(o1, s2)));
     checkEqualCollection("Verifying getAll method", c12, mhm.getAll(o1));
     mhm.putAll(o3, c12);
     checkEqualCollection("Verifying putAll method", c12, mhm.getAll(o3));
     mhm.put(o3, null);
     checkEqualCollection("Verifying the ability to add null values with put method", c12n, mhm.getAll(o3));
     check("Verifying the contains method works for null", mhm.contains(o3, null));
     check("Verifying the contains method works", mhm.contains(o3, s1));
     check("Verifying remove method return value", mhm.remove(o3, null));
     check("Verifying remove method works", !mhm.contains(o3, null));
     checkEqualCollection("Verifying HashMap remove method return value", (Collection) mhm.remove(o3), c12);
     check("Verifying HashMap remove method works", mhm.get(o3) == null);
    }
   
    public static void check(String message, boolean result) throws CheckFailedException {
     if (result == false)
         throw new CheckFailedException(message + " failed");
     else
         System.out.println(message + " passed");
    }
    public static void checkEqualCollection(String message, Collection c1, Collection c2) throws CheckFailedException {
     check(message, c1.containsAll(c2) && c2.containsAll(c1));
    }
    private static class CheckFailedException extends Exception {
     public CheckFailedException() { super(); }
     public CheckFailedException(String message) { super(message); }
    }
}
Read Full Discussion Thread for this article