@Test public void forEachShouldLoopOverEveryElement() { map.put(1, 1); map.put(100, 100); final IntIntConsumer mockConsumer = mock(IntIntConsumer.class); map.forEach(mockConsumer); final InOrder inOrder = inOrder(mockConsumer); inOrder.verify(mockConsumer).accept(1, 1); inOrder.verify(mockConsumer).accept(100, 100); inOrder.verifyNoMoreInteractions(); }
@Test public void shouldAllowInitialValueAsKey() { map.put(INITIAL_VALUE, 1); assertEquals(1, map.get(INITIAL_VALUE)); assertTrue(map.containsKey(INITIAL_VALUE)); assertEquals(1, map.size()); final int[] tuple = new int[2]; map.forEach((k, v) -> { tuple[0] = k; tuple[1] = v; }); assertEquals(INITIAL_VALUE, tuple[0]); assertEquals(1, tuple[1]); assertEquals(1, map.remove(INITIAL_VALUE)); assertEquals(0, map.size()); assertEquals(INITIAL_VALUE, map.get(INITIAL_VALUE)); }