@Test public void testAnyList() { AtomicBoolean thenCalled = new AtomicBoolean(); Promise<String> promise1 = reactor.promise(); Promise<String> promise2 = reactor.promise(); final Promise<Void> promise = reactor.any(Arrays.asList(promise1, promise2)); promise.then(s -> thenCalled.set(true)); assertFalse(promise.asHandler().complete()); reactor.process(); assertFalse(promise.asHandler().complete()); /** Invoke the callback. */ promise1.asHandler().resolve("DONE"); promise2.asHandler().resolve("DONE"); reactor.process(); //play it /** You can see the results but the events wont fire until reactor plays the replay promises. */ assertTrue(promise.asHandler().complete()); assertTrue(promise.asHandler().success()); /** Now we see the event. */ assertTrue(thenCalled.get()); }
@Test public void testAny() { AtomicBoolean thenCalled = new AtomicBoolean(); Promise<String> promise1 = reactor.promise(); Promise<String> promise2 = reactor.promise(); final Promise<Void> promise = reactor.any(promise1, promise2); promise.then(s -> thenCalled.set(true)); assertFalse(promise.asHandler().complete()); reactor.process(); assertFalse(promise.asHandler().complete()); /** Invoke the callback. */ promise1.asHandler().resolve("DONE"); promise2.asHandler().resolve("DONE"); reactor.process(); //play it /** You can see the results but the events wont fire until reactor plays the replay promises. */ assertTrue(promise.asHandler().complete()); assertTrue(promise.asHandler().success()); /** Now we see the event. */ assertTrue(thenCalled.get()); }