@Test public void testKeysCopied() { LocalMap<JsonObject, String> map = sharedData.getLocalMap("foo"); JsonObject json1 = new JsonObject().put("foo1", "val1"); JsonObject json2 = new JsonObject().put("foo2", "val1"); JsonObject json3 = new JsonObject().put("foo3", "val1"); map.put(json1, "val1"); map.put(json2, "val2"); map.put(json3, "val3"); assertEquals(3, map.size()); Set<JsonObject> keys = map.keySet(); assertEquals(3, keys.size()); assertTrue(keys.contains(json1)); assertTrue(keys.contains(json2)); assertTrue(keys.contains(json3)); // copied assertFalse(containsExact(keys, json1)); assertFalse(containsExact(keys, json2)); assertFalse(containsExact(keys, json3)); }
@Test public void testValuesCopied() { LocalMap<String, JsonObject> map = sharedData.getLocalMap("foo"); JsonObject json1 = new JsonObject().put("foo1", "val1"); JsonObject json2 = new JsonObject().put("foo2", "val1"); JsonObject json3 = new JsonObject().put("foo3", "val1"); map.put("key1", json1); map.put("key2", json2); map.put("key3", json3); assertEquals(3, map.size()); Collection<JsonObject> values = map.values(); assertEquals(3, values.size()); assertTrue(values.contains(json1)); assertTrue(values.contains(json2)); assertTrue(values.contains(json3)); // copied assertFalse(containsExact(values, json1)); assertFalse(containsExact(values, json2)); assertFalse(containsExact(values, json3)); }
@Test public void deleteElementOnComputeFunctionReturningNull() { LocalMap<String, String> map = sharedData.getLocalMap("foo"); // put an initial value map.put("hello", "world"); // retuning null we should remove the entry map.computeIfPresent("hello", (key, oldValue) -> null); assertFalse(map.containsKey("hello")); // Same for LocalMap#compute and LocalMap#compute map.compute("hello", (key, oldValue) -> null); assertFalse(map.containsKey("hello")); // put a value one more time map.put("hello", "world"); map.merge("hello", "world!!!!!!", (key, oldValue) -> null); assertFalse(map.containsKey("hello")); map.computeIfAbsent("hello", key -> null); assertFalse(map.containsKey("hello")); }
@Test public void testMap() throws Exception { assertNullPointerException(() -> sharedData.getLocalMap(null)); LocalMap<String, String> map = sharedData.getLocalMap("foo"); LocalMap<String, String> map2 = sharedData.getLocalMap("foo"); assertTrue(map == map2); LocalMap<String, String> map3 = sharedData.getLocalMap("bar"); assertFalse(map3 == map2); map.close(); LocalMap<String, String> map4 = sharedData.getLocalMap("foo"); assertFalse(map4 == map3); }
assertFalse((Boolean) map.get(key));
assertNull(map.get("missing")); assertFalse(map.isEmpty()); assertEquals(map.size(), 1); assertEquals(map.entrySet().size(), 1); assertEquals(map.keySet().size(), 1); assertFalse(map.removeIfPresent("missing", "nope")); assertTrue(map.removeIfPresent("foo", "there")); assertFalse(map.replaceIfPresent("missing", "nope", "something")); assertTrue(map.replaceIfPresent("foo", "there", "something")); assertEquals(map.get("foo"), "something");
@Test public void testKeysCopied() { LocalMap<JsonObject, String> map = sharedData.getLocalMap("foo"); JsonObject json1 = new JsonObject().put("foo1", "val1"); JsonObject json2 = new JsonObject().put("foo2", "val1"); JsonObject json3 = new JsonObject().put("foo3", "val1"); map.put(json1, "val1"); map.put(json2, "val2"); map.put(json3, "val3"); assertEquals(3, map.size()); Set<JsonObject> keys = map.keySet(); assertEquals(3, keys.size()); assertTrue(keys.contains(json1)); assertTrue(keys.contains(json2)); assertTrue(keys.contains(json3)); // copied assertFalse(containsExact(keys, json1)); assertFalse(containsExact(keys, json2)); assertFalse(containsExact(keys, json3)); }
@Test public void testValuesCopied() { LocalMap<String, JsonObject> map = sharedData.getLocalMap("foo"); JsonObject json1 = new JsonObject().put("foo1", "val1"); JsonObject json2 = new JsonObject().put("foo2", "val1"); JsonObject json3 = new JsonObject().put("foo3", "val1"); map.put("key1", json1); map.put("key2", json2); map.put("key3", json3); assertEquals(3, map.size()); Collection<JsonObject> values = map.values(); assertEquals(3, values.size()); assertTrue(values.contains(json1)); assertTrue(values.contains(json2)); assertTrue(values.contains(json3)); // copied assertFalse(containsExact(values, json1)); assertFalse(containsExact(values, json2)); assertFalse(containsExact(values, json3)); }
@Test public void deleteElementOnComputeFunctionReturningNull() { LocalMap<String, String> map = sharedData.getLocalMap("foo"); // put an initial value map.put("hello", "world"); // retuning null we should remove the entry map.computeIfPresent("hello", (key, oldValue) -> null); assertFalse(map.containsKey("hello")); // Same for LocalMap#compute and LocalMap#compute map.compute("hello", (key, oldValue) -> null); assertFalse(map.containsKey("hello")); // put a value one more time map.put("hello", "world"); map.merge("hello", "world!!!!!!", (key, oldValue) -> null); assertFalse(map.containsKey("hello")); map.computeIfAbsent("hello", key -> null); assertFalse(map.containsKey("hello")); }
@Test public void testMap() throws Exception { assertNullPointerException(() -> sharedData.getLocalMap(null)); LocalMap<String, String> map = sharedData.getLocalMap("foo"); LocalMap<String, String> map2 = sharedData.getLocalMap("foo"); assertTrue(map == map2); LocalMap<String, String> map3 = sharedData.getLocalMap("bar"); assertFalse(map3 == map2); map.close(); LocalMap<String, String> map4 = sharedData.getLocalMap("foo"); assertFalse(map4 == map3); }
assertFalse((Boolean) map.get(key));
assertNull(map.get("missing")); assertFalse(map.isEmpty()); assertEquals(map.size(), 1); assertEquals(map.entrySet().size(), 1); assertEquals(map.keySet().size(), 1); assertFalse(map.removeIfPresent("missing", "nope")); assertTrue(map.removeIfPresent("foo", "there")); assertFalse(map.replaceIfPresent("missing", "nope", "something")); assertTrue(map.replaceIfPresent("foo", "there", "something")); assertEquals(map.get("foo"), "something");