@Test
void correctLoading() {

    final ListenerService s1 = mock(ListenerService.class);
    final EventListenerSupplier<RoboZonkyStartingEvent> returned = () -> Optional.of(l);
    doAnswer(i -> Stream.of(returned)).when(s1)
        .findListeners(eq(sessionInfo), eq(RoboZonkyStartingEvent.class));
    final ListenerService s2 = mock(ListenerService.class);
    doAnswer(i -> Stream.of((EventListenerSupplier<RoboZonkyStartingEvent>) Optional::empty))
        .when(s2)
        .findListeners(eq(sessionInfo), eq(RoboZonkyStartingEvent.class));
    final Iterable<ListenerService> s = () -> Arrays.asList(s1, s2)
        .iterator();
    final List<EventListenerSupplier<RoboZonkyStartingEvent>> r = ListenerServiceLoader.load(sessionInfo,
            RoboZonkyStartingEvent.class, s);
    assertThat(r).hasSize(2);
    assertThat(r)
        .first()
        .has(new Condition<>(result -> result.get()
            .isPresent() &&
                Objects.equals(result.get()
                    .get(), l),
                "Exists"));
    assertThat(r)
        .last()
        .has(new Condition<>(result -> result.get()
            .isEmpty(), "Does not exist"));
}