@Test public void characters() { Flux<String> flux = workshop.characters(Flux.just("foo", "bar")); StepVerifier.create(flux).expectNextCount(6).verifyComplete(); }
Flux<String> characters(Flux<String> flux) { return flux .map(s -> s.toUpperCase()) .flatMap(s -> Flux.fromArray(s.split("")).log()); }
Part02Transform { Flux<String> characters(Flux<String> flux) { return flux .map(s -> s.toUpperCase()) .flatMap(s -> Flux.fromArray(s.split("")).log()); } }
Part02Transform { Flux<String> characters(Flux<String> flux) { return flux .map(s -> s.toUpperCase()) .flatMap(s -> Flux.fromArray(s.split("")).log()); }  }
Part02Transform { Flux<String> characters(Flux<String> flux) { return flux .map(s -> s.toUpperCase()) .flatMap(s -> Flux.fromArray(s.split("")).log()); }  Flux<Tuple2<String, Integer>> pairValues(Flux<String> flux1, Flux<Integer> flux2); Mono<Order> combineValues(Mono<String> phoneNumber, Mono<String> deliveryAddress); }
Part02Transform { Flux<String> characters(Flux<String> flux) { return flux .map(s -> s.toUpperCase()) .flatMap(s -> Flux.fromArray(s.split("")).log()); }  Flux<Tuple2<String, Integer>> pairValues(Flux<String> flux1, Flux<Integer> flux2); Mono<Order> combineValues(Mono<String> phoneNumber, Mono<String> deliveryAddress);  }