@Test public void mustBeAbleToCombine() throws Exception { final JavaTestKit probe = new JavaTestKit(system); final Source<Integer, NotUsed> source1 = Source.from(Arrays.asList(0, 1)); final Source<Integer, NotUsed> source2 = Source.from(Arrays.asList(2, 3)); final Source<Integer, NotUsed> source = Source.combine( source1, source2, new ArrayList<Source<Integer, ?>>(), width -> Merge.<Integer>create(width)); final CompletionStage<Done> future = source.runWith( Sink.foreach(elem -> probe.getRef().tell(elem, ActorRef.noSender())), materializer); probe.expectMsgAllOf(0, 1, 2, 3); future.toCompletableFuture().get(200, TimeUnit.MILLISECONDS); }