private void testMapOperationResult(BiFunction<LocalMap<String, ShareableObject>, String, ShareableObject> operation) { final String key = "key"; final ShareableObject value = new ShareableObject("some test data"); final LocalMap<String, ShareableObject> map = vertx.sharedData().getLocalMap("foo"); assertNull(map.put(key, value)); final ShareableObject result = operation.apply(map, key); assertEquals(value, result); assertNotSame(value, result); }
@Override public Shareable copy() { return new ShareableObject(data); }
@Test public void testCopyOnPutIfAbsent() { testMapOperationResult((map, key) -> map.putIfAbsent(key, new ShareableObject("some other test data"))); }
private void testMapOperationResult(BiFunction<LocalMap<String, ShareableObject>, String, ShareableObject> operation) { final String key = "key"; final ShareableObject value = new ShareableObject("some test data"); final LocalMap<String, ShareableObject> map = vertx.sharedData().getLocalMap("foo"); assertNull(map.put(key, value)); final ShareableObject result = operation.apply(map, key); assertEquals(value, result); assertNotSame(value, result); }
@Override public Shareable copy() { return new ShareableObject(data); }
@Test public void testCopyOnPutIfAbsent() { testMapOperationResult((map, key) -> map.putIfAbsent(key, new ShareableObject("some other test data"))); }