@Test public void testNoConflateOnSignalThenSubscriptionEvents() { List<Event<String>> script = Arrays.asList( new TaskEvent<String>(() -> {}, "A"), new WaitEvent<String>(Duration.ofSeconds(5), "B"), new SignalCountEvent<>(3, "C"), new SubscriptionEvent<String>("D"), new SubscriptionEvent<String>(sub -> { }, "E") ); Queue<Event<String>> queue = DefaultVerifySubscriber.conflateScript(script, null); assertThat(queue) .hasSize(5) .extracting(e -> e.getClass().getName()) .containsExactly( TaskEvent.class.getName(), WaitEvent.class.getName(), SignalCountEvent.class.getName(), SubscriptionEvent.class.getName(), SubscriptionEvent.class.getName()); }
@Override public DefaultStepVerifierBuilder<T> expectNextCount(long count) { checkPositive(count); if (count != 0) { String desc = "expectNextCount(" + count + ")"; checkPotentialHang(count, desc); this.script.add(new SignalCountEvent<>(count, desc)); } return this; }
@Test public void testConflateChangesDescriptionAndRemoveAs() { List<Event<String>> script = Arrays.asList( new SignalEvent<String>((s,v) -> Optional.empty(), "A"), new SignalEvent<String>((s,v) -> Optional.empty(), "B"), new DescriptionEvent<String>("foo"), new DescriptionEvent<String>("bar"), new SignalCountEvent<String>(1, "C"), new DescriptionEvent<String>("baz") ); Queue<Event<String>> queue = DefaultVerifySubscriber.conflateScript(script, null); assertThat(queue).hasSize(3) .extracting(Event::getDescription) .containsExactly("A", "foo", "baz"); } }
@Override public DefaultStepVerifierBuilder<T> expectNextCount(long count) { checkPositive(count); if (count != 0) { String desc = "expectNextCount(" + count + ")"; checkPotentialHang(count, desc); this.script.add(new SignalCountEvent<>(count, desc)); } return this; }