@Test public void shouldNotContainKeyOfAMissingKey() { assertFalse(map.containsKey(1)); }
@Test public void shouldContainValueForIncAndDecEntries() { map.incrementAndGet(1); map.getAndIncrement(2); map.getAndAdd(3, 2); map.addAndGet(4, 3); map.decrementAndGet(5); map.getAndDecrement(6); assertTrue(map.containsKey(1)); assertTrue(map.containsKey(2)); assertTrue(map.containsKey(3)); assertTrue(map.containsKey(4)); assertTrue(map.containsKey(5)); assertTrue(map.containsKey(6)); }
@Test public void shouldOnlyRemoveTheSpecifiedEntry() { IntStream.range(1, 8).forEach((i) -> map.put(i, i * 2)); map.remove(5); IntStream .range(1, 8) .filter((i) -> i != 5L) .forEach((i) -> { assertTrue(map.containsKey(i)); assertTrue(map.containsValue(2 * i)); }); }
@Test public void shouldContainKeyOfAPresentKey() { map.put(1, 1); assertTrue(map.containsKey(1)); }
@Test public void shouldRemoveEntryAfterDecToInitialVal() { map.put(1, INITIAL_VALUE + 1); map.decrementAndGet(1); assertEquals(INITIAL_VALUE, map.get(1)); assertTrue(map.isEmpty()); assertFalse(map.containsKey(1)); }
@Test public void shouldRemoveEntryAfterIncToInitialVal() { map.put(1, INITIAL_VALUE - 1); map.incrementAndGet(1); assertEquals(INITIAL_VALUE, map.get(1)); assertTrue(map.isEmpty()); assertFalse(map.containsKey(1)); }
@Test public void removeShouldRemoveEntry() { map.put(1, 2); map.remove(1); assertTrue(map.isEmpty()); assertFalse(map.containsKey(1)); assertFalse(map.containsValue(2)); }
@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)); }