@Test public void scanExpandDepthSubscription() { CoreSubscriber<Integer> parentActual = new LambdaSubscriber<>(null, Throwable::printStackTrace, null,null); ExpandDepthSubscription<Integer> test = new ExpandDepthSubscription<>( parentActual, i -> i > 5 ? Mono.empty() : Mono.just(i + 1), 123); assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(parentActual); assertThat(test.scan(Scannable.Attr.ERROR)).isNull(); test.error = new IllegalStateException("boom"); assertThat(test.scan(Scannable.Attr.ERROR)).isSameAs(test.error); test.request(20); assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(20); assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse(); test.cancel(); assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue(); } }