All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.darylteo.vertx.promises.java.test.PromiseTests Maven / Gradle / Ivy

The newest version!
package com.darylteo.vertx.promises.java.test;

import static org.vertx.testtools.VertxAssert.assertEquals;
import static org.vertx.testtools.VertxAssert.testComplete;

import org.junit.Test;
import org.vertx.java.core.Handler;
import org.vertx.testtools.TestVerticle;

import com.darylteo.vertx.promises.java.Promise;
import com.darylteo.vertx.promises.java.functions.PromiseAction;
import com.darylteo.vertx.promises.java.functions.PromiseFunction;
import com.darylteo.vertx.promises.java.functions.RepromiseFunction;

public class PromiseTests extends TestVerticle {
  @Test
  public void testHandler() {
    Promise promise = Promise.defer();
    vertx.setTimer(1000l, promise);

    promise.then(new PromiseFunction() {
      @Override
      public String call(Long timerID) {
        return "Hello World!";
      }
    }).then(new RepromiseFunction() {
      @Override
      public Promise call(final String t1) {
        final Promise p = Promise.defer();
        vertx.setTimer(1000l, new Handler() {
          @Override
          public void handle(Long event) {
            p.fulfill(t1.toUpperCase());
          }
        });

        return p;
      }
    }).then(new PromiseAction() {
      @Override
      public void call(String t1) {
        assertEquals(t1, "HELLO WORLD!");
        testComplete();
      }

    });
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy