public void testPutMap() throws Exception { Map<Serializable, Object> values = new HashMap<Serializable, Object>(); values.put(new MyKey("a"), "a"); values.put(new MyKey("b"), "b"); assertEquals(0, listener.put); assertEquals(0, cache.getCacheSize()); cache.putMap(values); assertEquals(2, listener.put); assertEquals(2, cache.getCacheSize()); values = new HashMap<Serializable, Object>() { private static final long serialVersionUID = 1L; public Set<Entry<Serializable, Object>> entrySet() { Set<Entry<Serializable, Object>> set = new LinkedHashSet<Entry<Serializable, Object>>(super.entrySet()); set.add( new Entry<Serializable, Object>() { public Object setValue(Object paramV) { return null; } public Object getValue() { throw new RuntimeException("An exception"); } public Serializable getKey() { return "c"; } }); return set; } }; values.put(new MyKey("e"), "e"); values.put(new MyKey("d"), "d"); cache.putMap(values); assertEquals(4, listener.put); assertEquals(4, cache.getCacheSize()); }