package com.baeldung.java8; import org.junit.Test; import java.util.Arrays; import java.util.List; import java.util.Optional; import static org.hamcrest.Matchers.anyOf; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; public class Java8FindAnyFindFirstUnitTest { @Test public void createStream_whenFindAnyResultIsPresent_thenCorrect() { List list = Arrays.asList("A", "B", "C", "D"); Optional result = list.stream().findAny(); assertTrue(result.isPresent()); assertThat(result.get(), anyOf(is("A"), is("B"), is("C"), is("D"))); } @Test public void createParallelStream_whenFindAnyResultIsPresent_thenCorrect() throws Exception { List list = Arrays.asList(1, 2, 3, 4, 5); Optional result = list.stream().parallel().filter(num -> num < 4).findAny(); assertTrue(result.isPresent()); assertThat(result.get(), anyOf(is(1), is(2), is(3))); } @Test public void createStream_whenFindFirstResultIsPresent_thenCorrect() { List list = Arrays.asList("A", "B", "C", "D"); Optional result = list.stream().findFirst(); assertTrue(result.isPresent()); assertThat(result.get(), is("A")); } }