@Test
public void testMonoMerge() {

    Set<String> resultCollector = new HashSet<>();
    Map<String, Mono<Void>> monoMap = ImmutableMap.<String, Mono<Void>>builder()
            .put("mono1", Mono.defer(() -> {
                resultCollector.add("mono1");
                return Mono.empty();
            }))
            .put("mono2", Mono.defer(() -> {
                resultCollector.add("mono2");
                return Mono.empty();
            }))
            .build();
    Map<String, Optional<Throwable>> executionResult = ReactorExt.merge(monoMap, 2, Schedulers.parallel()).block();
    assertThat(executionResult).hasSize(2);
    assertThat(executionResult.get("mono1")).isEmpty();
    assertThat(executionResult.get("mono2")).isEmpty();
    assertThat(resultCollector).contains("mono1", "mono2");
}