### Question:
ConcurrentLongLongHashMap { public long addAndGet(long key, long delta) { checkBiggerEqualZero(key); long h = hash(key); return getSection(h).addAndGet(key, delta, (int) h); } ConcurrentLongLongHashMap();  ConcurrentLongLongHashMap(int expectedItems);  ConcurrentLongLongHashMap(int expectedItems, int concurrencyLevel); long size(); long capacity(); boolean isEmpty(); long get(long key); boolean containsKey(long key); long put(long key, long value); long putIfAbsent(long key, long value); long computeIfAbsent(long key, LongLongFunction provider); long addAndGet(long key, long delta); boolean compareAndSet(long key, long currentValue, long newValue); long remove(long key); boolean remove(long key, long value); int removeIf(LongPredicate filter); int removeIf(LongLongPredicate filter); void clear(); void forEach(BiConsumerLong processor); List<Long> keys(); List<Long> values(); Map<Long, Long> asMap();  }### Answer:
@Test public void testAddAndGet() { ConcurrentLongLongHashMap map = new ConcurrentLongLongHashMap(16, 1); assertEquals(map.addAndGet(0, 0), 0); assertEquals(map.containsKey(0), true); assertEquals(map.get(0), 0); assertEquals(map.containsKey(5), false); assertEquals(map.addAndGet(0, 5), 5); assertEquals(map.get(0), 5); assertEquals(map.addAndGet(0, 1), 6); assertEquals(map.get(0), 6); assertEquals(map.addAndGet(0, -2), 4); assertEquals(map.get(0), 4); try { map.addAndGet(0, -5); fail("should have failed"); } catch (IllegalArgumentException e) { } assertEquals(map.get(0), 4); }