@Test public void shouldWaitForResume() throws Throwable { final Waiter waiter = new Waiter(); // Start worker thread that performs an assertion after some delay, then resumes the waiter new Thread(new Runnable() { public void run() { doSomeWork(); waiter.assertTrue(true); waiter.resume(); } }).start(); // Waits for resume to be called waiter.await(1000); }
final Waiter waiter = new Waiter(); bus.registerListener(() -> { // Perform assertion in some other thread waiter.assertTrue(true); waiter.resume(); }); // Wait for resume() to be called waiter.await(5000);
final Waiter waiter = new Waiter(); bus.registerMessageHandler(message -> { waiter.assertEquals(message.body(), "foo"); waiter.resume(); }); waiter.await(5000);
Waiter waiter = new Waiter(); CompletableFuture<Connection> future = someService.connect(); future.whenComplete((connection, failure) -> { // Called from some other thread waiter.assertNotNull(connection); waiter.assertNull(failure); waiter.resume(); }); // Block the main test thread waiter.await();
@Test public void shouldDeliverMessage() throws Throwable { final Waiter waiter = new Waiter(); messageBus.registerHandler(message -> { // Called on separate thread waiter.assertEquals(message, "foo"); // Unblocks the waiter.await call waiter.resume(); }; messageBus.send("foo"); // Wait for resume() to be called waiter.await(1000); }
final Waiter waiter = new Waiter(); LoaderManager.LoaderCallbacks callbacks = new LoaderManager.LoaderCallbacks() { public void onLoadFinished(Loader<D> loader, D data) { waiter.assertEquals(someValue, "foo"); waiter.resume(); } //... }; // register callbacks... waiter.await(5000); // wait 5 seconds for resume
@Test public void testInvoke() throws Throwable { Waiter waiter = new Waiter(); JustAClass justAClass = new JustAClass(); JustAClass.JustACallBack callBack = new JustAClass.JustACallBack() { @Override public void callFunc(final JustAClass.JustAResult result) { waiter.assertNotNull(result); waiter.assertTrue(result instanceof JustAClass.JustAResultReal); waiter.resume(); } }; justAClass.threadFunc(callBack); waiter.await(1200, TimeUnit.SECONDS); }