protected void assertMap(Map<?, ?> expected, Map<?, ?> atomicMap) {
assertEquals(expected, new HashMap<Object, Object>(atomicMap));
assertEquals("Wrong map '" + atomicMap + "'.size()", expected.size(), atomicMap.size());
assertEquals("Wrong map '" + atomicMap + "'.isEmpty()", expected.isEmpty(), atomicMap.isEmpty());
assertEquals("Wrong map '" + atomicMap + "'.keySet().size()", expected.keySet().size(), atomicMap.keySet().size());
assertEquals("Wrong map '" + atomicMap + "'.keySet().isEmpty()", expected.keySet().isEmpty(), atomicMap.keySet().isEmpty());
assertEquals("Wrong map '" + atomicMap + "'.values().size()", expected.values().size(), atomicMap.values().size());
assertEquals("Wrong map '" + atomicMap + "'.values().isEmpty()", expected.values().isEmpty(), atomicMap.values().isEmpty());
assertEquals("Wrong map '" + atomicMap + "'.entrySet().size()", expected.entrySet().size(), atomicMap.entrySet().size());
assertEquals("Wrong map '" + atomicMap + "'.entrySet().isEmpty()", expected.entrySet().isEmpty(), atomicMap.entrySet().isEmpty());
assertEquals("Wrong map '" + atomicMap + "'.keySet() content.", expected.keySet(), atomicMap.keySet());
assertEquals("Wrong map '" + atomicMap + "'.values() content.", new HashSet<Object>(expected.values()), new HashSet<Object>(atomicMap.values()));
for (Entry<?, ?> entry : atomicMap.entrySet()) {
assertEquals("Wrong value for key " + entry.getKey(), expected.get(entry.getKey()), entry.getValue());
}
for (Object key : expected.keySet()) {
assertContainsKey(atomicMap, key);
}
for (Object value : expected.values()) {
assertContainsValue(atomicMap, value);
}
assertKeysValues(expected, atomicMap);
}