### Question:
Part4Backpressure { @Complexity(EASY) public static Flux<String> dropElementsOnBackpressure(Flux<String> 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 dropElementsOnBackpressureTest() { DirectProcessor<String> processor = DirectProcessor.create(); StepVerifier .create(dropElementsOnBackpressure(processor), 0) .expectSubscription() .then(() -> processor.onNext("")) .then(() -> processor.onNext("")) .thenRequest(1) .then(() -> processor.onNext("0")) .expectNext("0") .then(() -> processor.onNext("0")) .then(() -> processor.onNext("0")) .thenRequest(1) .then(() -> processor.onNext("10")) .expectNext("10") .thenRequest(1) .then(() -> processor.onNext("20")) .expectNext("20") .then(() -> processor.onNext("40")) .then(() -> processor.onNext("30")) .then(processor::onComplete) .expectComplete() .verify(); }