@Test public void testConcurrentModification() { OpenIntToFieldHashMap<Fraction> map = createFromJavaMap(field); OpenIntToFieldHashMap<Fraction>.Iterator iterator = map.iterator(); map.put(3, new Fraction(3)); try { iterator.advance(); Assert.fail("an exception should have been thrown"); } catch (ConcurrentModificationException cme) { // expected } }
@Test public void testIterator() { OpenIntToFieldHashMap<Fraction> map = createFromJavaMap(field); OpenIntToFieldHashMap<Fraction>.Iterator iterator = map.iterator(); for (int i = 0; i < map.size(); ++i) { Assert.assertTrue(iterator.hasNext()); iterator.advance(); int key = iterator.key(); Assert.assertTrue(map.containsKey(key)); Assert.assertEquals(javaMap.get(key), map.get(key)); Assert.assertEquals(javaMap.get(key), iterator.value()); Assert.assertTrue(javaMap.containsKey(key)); } Assert.assertFalse(iterator.hasNext()); try { iterator.advance(); Assert.fail("an exception should have been thrown"); } catch (NoSuchElementException nsee) { // expected } }