@Override public DefaultStepVerifierBuilder<T> then(Runnable task) { Objects.requireNonNull(task, "task"); this.script.add(new TaskEvent<>(task, "then")); return this; }
@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()); }
@Test public void testConflateOnTaskThenSubscriptionEvents() { List<Event<String>> script = Arrays.asList( new TaskEvent<String>(() -> {}, "A"), new TaskEvent<String>(() -> {}, "B"), new WaitEvent<String>(Duration.ofSeconds(5), "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(), TaskEvent.class.getName(), WaitEvent.class.getName(), DefaultStepVerifierBuilder.SubscriptionTaskEvent.class.getName(), DefaultStepVerifierBuilder.SubscriptionTaskEvent.class.getName()); }
@Override public DefaultStepVerifierBuilder<T> then(Runnable task) { Objects.requireNonNull(task, "task"); this.script.add(new TaskEvent<>(task, "then")); return this; }