View Javadoc
1   package io.atlassian.fugue;
2   
3   import org.junit.Test;
4   
5   import java.util.function.Function;
6   import java.util.function.Supplier;
7   
8   import static org.hamcrest.core.Is.is;
9   import static org.junit.Assert.assertThat;
10  
11  public class ApplicativeSupplier {
12  
13    final Supplier<String> f = () -> "input";
14    final Supplier<Function<String, Integer>> g = () -> String::length;
15  
16    @Test public void supplierApplication() {
17      assertThat(Suppliers.ap(f, g).get(), is(5));
18    }
19  
20    @Test(expected = NullPointerException.class) public void supplierApplicationNullInput() {
21      Suppliers.ap(null, g).get();
22    }
23  
24    @Test(expected = NullPointerException.class) public void supplierApplicationNullTransform() {
25      Suppliers.ap(f, null).get();
26    }
27  
28    @Test(expected = NullPointerException.class) public void supplierApplicationAllNull() {
29      final Supplier<String> f = null;
30      final Supplier<Function<String, Integer>> g = null;
31      Suppliers.ap(f, g).get();
32    }
33  }