package com.codepoetics.protonpack; import org.junit.Test; import java.util.List; import java.util.stream.Stream; import static java.util.Arrays.asList; import static java.util.stream.Collectors.toList; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; public class MergeTest { @Test public void merges_streams_to_list_with_unit_merger_and_combiner() { Stream<String> streamA = Stream.of("A", "B", "C"); Stream<String> streamB = Stream.of("apple", "banana", "carrot", "date"); Stream<String> streamC = Stream.of("fritter", "split", "cake", "roll", "pastry"); Stream<List<String>> merged = StreamUtils.mergeToList( streamA, streamB, streamC); assertThat(merged.collect(toList()), contains( asList("A", "apple", "fritter"), asList("B", "banana", "split"), asList("C", "carrot", "cake"), asList("date", "roll"), asList("pastry"))); } }