StatMapKey extends StatKey { public void addKey(String key, String value) { if (key != null && value != null) { keyMap.put(key, value); } }  Map<String, String> getKeyMap(); void addKey(String key, String value); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void testAddKey() throws Exception { StatMapKey statMapKey = new StatMapKey(); statMapKey.addKey("key1", "value1"); statMapKey.addKey("key2", "value2"); statMapKey.addKey("key3", "value3"); statMapKey.addKey("key4", "value4"); statMapKey.addKey("key5", "value5"); StatMapKey statMapKey1 = new StatMapKey(); statMapKey1.addKey("key3", "value3"); statMapKey1.addKey("key4", "value4"); statMapKey1.addKey("key5", "value5"); statMapKey1.addKey("key1", "value1"); statMapKey1.addKey("key2", "value2"); assertEquals(statMapKey.hashCode(), statMapKey1.hashCode()); assertEquals(statMapKey, statMapKey1); assertEquals(statMapKey.getKeyMap(), statMapKey1.getKeyMap()); StatMapKey statMapKey2 = new StatMapKey(); statMapKey2.addKey("key3", "value3"); statMapKey2.addKey("key4", "value4"); statMapKey2.addKey("key5", "value5"); statMapKey2.addKey("key1", "value1"); assertFalse(statMapKey2.equals(statMapKey1)); statMapKey.setEnd("f"); statMapKey.setResult("Y"); statMapKey.setLoadTest(false); assertFalse(statMapKey.equals(statMapKey1)); statMapKey1.setEnd("t"); statMapKey1.setResult("Y"); statMapKey1.setLoadTest(false); assertFalse(statMapKey.equals(statMapKey1)); statMapKey1.setEnd("f"); statMapKey1.setResult("Y"); statMapKey1.setLoadTest(false); assertTrue(statMapKey.equals(statMapKey1)); }