149 Key keyToFrob = keys.get(rnd.nextInt(keys.size())); 150 151 Map<Key, Object> m = impl.emptyMap(); 152 for (Key key : keys) m.put(key, v1); 153 154 for (Iterator<Map.Entry<Key, Object>> it = m.entrySet().iterator(); 155 it.hasNext(); ) { 156 Map.Entry<Key, Object> entry = it.next(); 157 if (entry.getKey() == keyToFrob) 158 entry.setValue(v2); // does this have the expected effect? 159 else 160 it.remove(); 161 } 162 163 assertFalse(m.containsValue(v1)); 164 assertTrue(m.containsValue(v2)); 165 assertTrue(m.containsKey(keyToFrob)); 166 assertEquals(1, m.size()); 167 } 168 169 // public void testFailsIntentionallyForDebugging() { 170 // fail(impl.klazz().getSimpleName()); 171 // } 172 } | 149 Key keyToFrob = keys.get(rnd.nextInt(keys.size())); 150 151 Map<Key, Object> m = impl.emptyMap(); 152 for (Key key : keys) m.put(key, v1); 153 154 for (Iterator<Map.Entry<Key, Object>> it = m.entrySet().iterator(); 155 it.hasNext(); ) { 156 Map.Entry<Key, Object> entry = it.next(); 157 if (entry.getKey() == keyToFrob) 158 entry.setValue(v2); // does this have the expected effect? 159 else 160 it.remove(); 161 } 162 163 assertFalse(m.containsValue(v1)); 164 assertTrue(m.containsValue(v2)); 165 assertTrue(m.containsKey(keyToFrob)); 166 assertEquals(1, m.size()); 167 } 168 169 /** 170 * "Missing" test found while investigating JDK-8210280. 171 * See discussion on mailing list. 172 * TODO: randomize 173 */ 174 public void testBug8210280() { 175 Map m = impl.emptyMap(); 176 for (int i = 0; i < 4; i++) m.put(7 + i * 16, 0); 177 Map more = impl.emptyMap(); 178 for (int i = 0; i < 128; i++) more.put(-i, 42); 179 m.putAll(more); 180 for (int i = 0; i < 4; i++) assertEquals(0, m.get(7 + i * 16)); 181 } 182 183 // public void testFailsIntentionallyForDebugging() { 184 // fail(impl.klazz().getSimpleName()); 185 // } 186 } |