public void testRemove_KeyItem() {
   MultiHashMap map = new MultiHashMap();
   map.put("A", "AA");
   map.put("A", "AB");
   map.put("A", "AC");
   assertEquals(null, map.remove("C", "CA"));
   assertEquals(null, map.remove("A", "AD"));
   assertEquals("AC", map.remove("A", "AC"));
   assertEquals("AB", map.remove("A", "AB"));
   assertEquals("AA", map.remove("A", "AA"));
   assertEquals(new MultiHashMap(), map);
 }
 public void testTotalSize() {
   MultiHashMap map = new MultiHashMap();
   assertEquals(0, map.totalSize());
   map.put("A", "AA");
   assertEquals(1, map.totalSize());
   map.put("B", "BA");
   assertEquals(2, map.totalSize());
   map.put("B", "BB");
   assertEquals(3, map.totalSize());
   map.put("B", "BC");
   assertEquals(4, map.totalSize());
   map.remove("A");
   assertEquals(3, map.totalSize());
   map.remove("B", "BC");
   assertEquals(2, map.totalSize());
 }
  public void testMapEquals() {
    MultiHashMap one = new MultiHashMap();
    Integer value = new Integer(1);
    one.put("One", value);
    one.remove("One", value);

    MultiHashMap two = new MultiHashMap();
    assertEquals(two, one);
  }
 public void testSize_Key() {
   MultiHashMap map = new MultiHashMap();
   assertEquals(0, map.size("A"));
   assertEquals(0, map.size("B"));
   map.put("A", "AA");
   assertEquals(1, map.size("A"));
   assertEquals(0, map.size("B"));
   map.put("B", "BA");
   assertEquals(1, map.size("A"));
   assertEquals(1, map.size("B"));
   map.put("B", "BB");
   assertEquals(1, map.size("A"));
   assertEquals(2, map.size("B"));
   map.put("B", "BC");
   assertEquals(1, map.size("A"));
   assertEquals(3, map.size("B"));
   map.remove("A");
   assertEquals(0, map.size("A"));
   assertEquals(3, map.size("B"));
   map.remove("B", "BC");
   assertEquals(0, map.size("A"));
   assertEquals(2, map.size("B"));
 }