public FlowFirst<B> first() { return first((B) null); }
public FlowFirst<B> first() { return first((B) null); }
@Test public void test_of_iterator() { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); int result = Flow.of(list.iterator()).first().get(); Assert.assertEquals(1, result); }
@Test public void test_of_iterable_2() { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); int result = Flow.of(list).first().get(); Assert.assertEquals(1, result); }
@Test public void test_each_with_index_3() { final StringBuilder sb = new StringBuilder(); Flow.of(2, 4, 6) .each(new ConsumerWithInt<Integer>() { @Override public void consume(int i, Integer integer) { if (sb.length() != 0) sb.append(", "); sb.append(i); } }) .first() .get(); Assert.assertEquals("0", sb.toString()); }
@Test public void test_stop_after_first() { final AtomicInteger counter = new AtomicInteger(); Assert.assertEquals(Integer.valueOf(1), Flow.of(1, 2, 3).each(new Consumer<Integer>() { @Override public void consume(Integer integer) { counter.incrementAndGet(); } }).first().get()); Assert.assertEquals(1, counter.get()); }
@Test public void test_first() { Assert.assertEquals(Integer.valueOf(1), Flow.of(1, 2, 3).first().get()); }
@Test public void test_orElse() { Assert.assertEquals(Integer.valueOf(-1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 10; } }) .first() .orElse(-1)); }
@Test public void test_suppliers() { final AtomicInteger i = new AtomicInteger(); Assert.assertEquals("1", Flow.of(new Supplier<Integer>() { @Override public Integer supply() { return i.incrementAndGet(); } }, new Supplier<Integer>() { @Override public Integer supply() { return i.incrementAndGet(); } }).first().join(",").get()); Assert.assertEquals(1, i.get()); }
@Test public void test_orElse_4() { Assert.assertEquals(Integer.valueOf(1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 0; } }) .first() .orElse(-1)); }
@Test public void test_orElse_5() { Assert.assertEquals(Integer.valueOf(1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 0; } }) .first() .orElse(new Supplier<Integer>() { @Override public Integer supply() { return -1; } })); }
@Test public void test_orElse_6() { Assert.assertEquals(Integer.valueOf(1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 0; } }) .first() .orElseThrow(new Supplier<RuntimeException>() { @Override public RuntimeException supply() { return new IllegalStateException("nothing found"); } })); }
@Test public void test_orElse_2() { Assert.assertEquals(Integer.valueOf(-1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 10; } }) .first() .orElse(new Supplier<Integer>() { @Override public Integer supply() { return -1; } })); }
@Test public void test_or_11() { Assert.assertEquals(Integer.valueOf(1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 0; } }) .first() .or(-1) .get()); }
@Test public void test_or_12() { Assert.assertEquals(Integer.valueOf(-1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 10; } }) .first() .or(-1) .get()); }
@Test public void test_of_flows_2() { Assert.assertEquals(Integer.valueOf(1), Flow.of(Flow.of(1), Flow.of(2, 3)).first().get()); }
@Test public void test_of_single() { Assert.assertEquals("abc", Flow.ofSingle(new char[]{'a', 'b', 'c'}) .map(new Mapper<char[], String>() { @Override public String map(char[] chars) { return new String(chars); } }) .first() .get() ); } }
@Test public void test_flow_of_one() { Assert.assertEquals("A", Flow.of("a").map(new Mapper<String, String>() { @Override public String map(String s) { return s.toUpperCase(); } }).first().get()); }
@Test public void test_or_9() { Assert.assertEquals(Integer.valueOf(-1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 10; } }) .first() .or(-1) .first() .get()); }
@Test public void test_or_10() { Assert.assertEquals(Integer.valueOf(1), Flow.of(1, 2, 3) .filter(new Filter<Integer>() { @Override public boolean allow(Integer integer) { return integer > 0; } }) .first() .or(-1) .first() .get()); }