package org.activityinfo.promise; import com.google.common.base.Function; import org.activityinfo.promise.Promise; import org.junit.Test; import javax.annotation.Nullable; import java.util.Arrays; import java.util.List; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; public class PromiseTest { @Test public void forEach() { List<Integer> numbers = Arrays.asList(1,2,3); Promise<Void> result = Promise.forEach(numbers, new Function<Integer, Promise<Void>>() { @Nullable @Override public Promise<Void> apply(@Nullable Integer input) { return Promise.rejected(new UnsupportedOperationException()); } }); assertThat(result.getState(), equalTo(Promise.State.REJECTED)); } }