private void testUncompletedOtherwiseApplyFunction(AsyncResult<String> res) { AsyncResult<String> ar1 = res.otherwise(Throwable::getMessage); assertFalse(ar1.succeeded()); assertFalse(ar1.failed()); assertNull(ar1.result()); assertNull(ar1.cause()); }
private void testUncompletedAsyncResultOtherwise(AsyncResult<String> res) { AsyncResult<String> ar1 = res.otherwise("something-else"); assertFalse(ar1.succeeded()); assertFalse(ar1.failed()); assertNull(ar1.result()); assertNull(ar1.cause()); }
private void testFailedOtherwiseApplyFunction(AsyncResult<String> res, Future<String> f) { AsyncResult<String> map1 = res.otherwise(Throwable::getMessage); Throwable cause = new Throwable("the-failure"); f.fail(cause); assertTrue(map1.succeeded()); assertFalse(map1.failed()); assertEquals("the-failure", map1.result()); assertNull(map1.cause()); }
private void testSucceededOtherwise(AsyncResult<String> res, Future<String> f) { AsyncResult<String> ar = res.otherwise(Throwable::getMessage); f.complete("foobar"); assertTrue(ar.succeeded()); assertFalse(ar.failed()); assertEquals("foobar", ar.result()); assertNull(ar.cause()); }
private void testFailedOtherwise(AsyncResult<String> res, Future<String> f) { AsyncResult<String> map1 = res.otherwise("something-else"); Throwable cause = new Throwable("the-failure"); f.fail(cause); assertTrue(map1.succeeded()); assertFalse(map1.failed()); assertEquals("something-else", map1.result()); assertNull(map1.cause()); }
private void testOtherwiseEmpty(AsyncResult<String> res, Future<String> f) { AsyncResult<String> otherwise = res.otherwiseEmpty(); Throwable cause = new Throwable("the-failure"); f.fail(cause); assertTrue(otherwise.succeeded()); assertFalse(otherwise.failed()); assertEquals(null, otherwise.result()); assertNull(otherwise.cause()); }
private void testSucceededOtherwiseApplyFunction(AsyncResult<String> res, Future<String> f) { AsyncResult<String> ar = res.otherwise("whatever"); f.complete("foobar"); assertTrue(ar.succeeded()); assertFalse(ar.failed()); assertEquals("foobar", ar.result()); assertNull(ar.cause()); }
@Test public void testSetResultOnCompletedFuture() { ArrayList<Future<Object>> futures = new ArrayList<>(); futures.add(Future.succeededFuture()); futures.add(Future.succeededFuture()); futures.add(Future.succeededFuture(new Object())); futures.add(Future.succeededFuture(new Object())); futures.add(Future.failedFuture(new Exception())); futures.add(Future.failedFuture(new Exception())); for (Future<Object> future : futures) { try { future.complete(new Object()); fail(); } catch (IllegalStateException ignore) { } assertFalse(future.tryComplete(new Object())); try { future.complete(null); fail(); } catch (IllegalStateException ignore) { } assertFalse(future.tryComplete(null)); try { future.fail(new Exception()); fail(); } catch (IllegalStateException ignore) { } assertFalse(future.tryFail(new Exception())); } }
future.setHandler(result -> { assertTrue(result.succeeded()); assertFalse(result.failed()); assertEquals(null, result.result()); assertEquals(null, result.cause()); called.set(true); }); assertFalse(called.get()); future.complete(null); assertTrue(called.get()); called.set(true); assertTrue(result.succeeded()); assertFalse(result.failed()); assertEquals(foo, result.result()); assertEquals(null, result.cause()); }); assertFalse(called.get()); future.complete(foo); assertTrue(called.get()); future.setHandler(result -> { called.set(true); assertFalse(result.succeeded()); assertTrue(result.failed()); assertEquals(null, result.result()); assertEquals(cause, result.cause()); }); assertFalse(called.get());
future.setHandler(result -> { assertTrue(result.succeeded()); assertFalse(result.failed()); assertEquals(null, result.result()); assertEquals(null, result.cause()); future.setHandler(result -> { assertTrue(result.succeeded()); assertFalse(result.failed()); assertEquals(foo, result.result()); assertEquals(null, result.cause()); future = Future.failedFuture(cause); future.setHandler(result -> { assertFalse(result.succeeded()); assertTrue(result.failed()); assertEquals(null, result.result());
@Test public void testOtherwiseSuccessWithSuccess() { AtomicBoolean called = new AtomicBoolean(); Future<String> f = Future.future(); Future<String> r = f.otherwise(t -> { called.set(true); throw new AssertionError(); }); Checker<String> checker = new Checker<>(r); checker.assertNotCompleted(); f.complete("yeah"); assertTrue(r.succeeded()); checker.assertSucceeded("yeah"); assertFalse(called.get()); }
@Test public void testRecoverSuccessWithSuccess() { AtomicBoolean called = new AtomicBoolean(); Future<String> f = Future.future(); Future<String> r = f.recover(t -> { called.set(true); throw new AssertionError(); }); Checker<String> checker = new Checker<>(r); checker.assertNotCompleted(); f.complete("yeah"); assertTrue(r.succeeded()); checker.assertSucceeded("yeah"); assertFalse(called.get()); }
AtomicReference<Future<String>> ref = new AtomicReference<>(); Future<String> f2 = Future.future(f1 -> { assertFalse(f1.isComplete()); count.incrementAndGet(); ref.set(f1);
@Test public void testStateAfterCompletion() { Object foo = new Object(); Future<Object> future = Future.succeededFuture(foo); assertTrue(future.succeeded()); assertFalse(future.failed()); assertTrue(future.isComplete()); assertEquals(foo, future.result()); assertNull(future.cause()); Exception cause = new Exception(); future = Future.failedFuture(cause); assertFalse(future.succeeded()); assertTrue(future.failed()); assertTrue(future.isComplete()); assertNull(future.result()); assertEquals(cause, future.cause()); }
private void testUncompletedOtherwiseApplyFunction(AsyncResult<String> res) { AsyncResult<String> ar1 = res.otherwise(Throwable::getMessage); assertFalse(ar1.succeeded()); assertFalse(ar1.failed()); assertNull(ar1.result()); assertNull(ar1.cause()); }
private void testOtherwiseEmpty(AsyncResult<String> res, Future<String> f) { AsyncResult<String> otherwise = res.otherwiseEmpty(); Throwable cause = new Throwable("the-failure"); f.fail(cause); assertTrue(otherwise.succeeded()); assertFalse(otherwise.failed()); assertEquals(null, otherwise.result()); assertNull(otherwise.cause()); }
private void testFailedOtherwise(AsyncResult<String> res, Future<String> f) { AsyncResult<String> map1 = res.otherwise("something-else"); Throwable cause = new Throwable("the-failure"); f.fail(cause); assertTrue(map1.succeeded()); assertFalse(map1.failed()); assertEquals("something-else", map1.result()); assertNull(map1.cause()); }
private void testFailedOtherwiseApplyFunction(AsyncResult<String> res, Future<String> f) { AsyncResult<String> map1 = res.otherwise(Throwable::getMessage); Throwable cause = new Throwable("the-failure"); f.fail(cause); assertTrue(map1.succeeded()); assertFalse(map1.failed()); assertEquals("the-failure", map1.result()); assertNull(map1.cause()); }
private void testSucceededOtherwiseApplyFunction(AsyncResult<String> res, Future<String> f) { AsyncResult<String> ar = res.otherwise("whatever"); f.complete("foobar"); assertTrue(ar.succeeded()); assertFalse(ar.failed()); assertEquals("foobar", ar.result()); assertNull(ar.cause()); }
private void testSucceededOtherwise(AsyncResult<String> res, Future<String> f) { AsyncResult<String> ar = res.otherwise(Throwable::getMessage); f.complete("foobar"); assertTrue(ar.succeeded()); assertFalse(ar.failed()); assertEquals("foobar", ar.result()); assertNull(ar.cause()); }