### Question:
Part7Context { @Complexity(EASY) public static Mono<String> provideCorrectContext(Mono<String> source, Object key, Object value) { throw new RuntimeException("Not implemented"); }  @Complexity(EASY) static Mono<String> grabDataFromTheGivenContext(Object key); @Complexity(EASY) static Mono<String> provideCorrectContext(Mono<String> source, Object key, Object value); @Complexity(EASY) static Flux<String> provideCorrectContext(
			Publisher<String> sourceA, Context contextA,
			Publisher<String> sourceB, Context contextB);  }### Answer:
@Test public void provideCorrectContextTest() { StepVerifier.create( provideCorrectContext(Mono.just("Test"), "Key", "Value") ) .expectSubscription() .expectAccessibleContext().contains("Key", "Value").then() .expectNext("Test") .verifyComplete(); }
@Test public void provideCorrectContext1() { Mono<String> a = Mono.subscriberContext() .filter( context -> context.hasKey("a") && !context.hasKey("b")) .map(context -> context.get("a")); Mono<String> b = Mono.subscriberContext() .filter( context -> context.hasKey("b") && !context.hasKey("a")) .map(context -> context.get("b")); Flux<String> flux = provideCorrectContext(a, Context.of("a", "a"), b, Context.of("b", "b")); StepVerifier.create(flux) .expectSubscription() .expectNext("a") .expectNext("b") .verifyComplete(); }