### Question:
Part4Backpressure { @Complexity(MEDIUM) public static Flux<List<Long>> backpressureByBatching(Flux<Long> upstream) { throw new RuntimeException("Not implemented"); }  @Complexity(EASY) static Flux<String> dropElementsOnBackpressure(Flux<String> upstream); @Complexity(MEDIUM) static Flux<List<Long>> backpressureByBatching(Flux<Long> upstream);  }### Answer:
@Test public void backpressureByBatchingTest() { StepVerifier .withVirtualTime(() -> backpressureByBatching(Flux.interval(Duration.ofMillis(1))), 0) .expectSubscription() .thenRequest(1) .expectNoEvent(Duration.ofSeconds(1)) .expectNextCount(1) .thenRequest(1) .expectNoEvent(Duration.ofSeconds(1)) .expectNextCount(1) .thenCancel() .verify(); }