import org.junit.Test; import java.util.HashMap; import java.util.Map; import static org.junit.Assert.*; public class ClientCreditsInfoTest { private final Map<String, Integer> clients = new HashMap<>(); @Test public void test() { final String paul = "Paul" , george = "George" , ringo = "Ringo" , john = "John"; ClientCreditsInfo info = new ClientCreditsInfo(); //GEORGE IS MAX info.insert(george, 32); assertEquals(32, info.lookup(george)); assertEquals(george, info.max()); info.insert(paul, 19); info.insert(ringo, 42); info.insert(john, 11); //RINGO IS NEW MAX AND STAYS AT MAX assertEquals(ringo, info.max()); info.addAll(10); assertEquals(ringo, info.max()); //ALL ELEMENTS INCREASED BY C assertEquals(42, info.lookup(george)); assertEquals(29, info.lookup(paul)); assertEquals(52, info.lookup(ringo)); assertEquals(21, info.lookup(john)); //GEORGE HAS NO CREDITS assertTrue(info.remove(george)); assertEquals(-1, info.lookup(george)); assertFalse(info.remove(george)); //PAUL IS NEW MAX assertTrue(info.remove(ringo)); assertEquals(paul, info.max()); assertFalse(info.remove(ringo)); } }