### Question:
Part3MultithreadingParallelization { @Complexity(EASY) public static ParallelFlux<String> paralellizeWorkOnDifferentThreads(Flux<String> source) { throw new RuntimeException("Not implemented"); }  @Complexity(EASY) static Publisher<String> publishOnParallelThreadScheduler(Flux<String> source); @Complexity(EASY) static Publisher<String> subscribeOnSingleThreadScheduler(Callable<String> blockingCall); @Complexity(EASY) static ParallelFlux<String> paralellizeWorkOnDifferentThreads(Flux<String> source); @Complexity(HARD) static Publisher<String> paralellizeLongRunningWorkOnUnboundedAmountOfThread(Flux<Callable<String>> streamOfLongRunningSources);  }### Answer:
@Test public void paralellizeWorkOnDifferentThreadsTest() { StepVerifier .create(paralellizeWorkOnDifferentThreads( Flux.just("Hello", "Hello", "Hello") )) .expectSubscription() .expectNext("Hello", "Hello", "Hello") .expectComplete() .verify(); }