@Test public void testAddOnUserListListener() throws Exception { CompletableFuture<String> channelNameFuture = new CompletableFuture<>(); CompletableFuture<Map<String, ChatUser>> usersFuture = new CompletableFuture<>(); instance.addOnUserListListener( (channelName, users) -> { channelNameFuture.complete(channelName); usersFuture.complete(users); }); when(chatPrefs.getChatColorMode()).thenReturn(chatColorMode.get()); when(chatPrefs.getUserToColor()).thenReturn(userToColorProperty); when(user2.compareTo(user1)).thenReturn(1); ImmutableSortedSet<User> users = ImmutableSortedSet.of(user1, user2); instance.onEvent(new UserListEvent(pircBotX, defaultChannel, users, true)); assertThat(channelNameFuture.get(TIMEOUT, TIMEOUT_UNIT), is(DEFAULT_CHANNEL_NAME)); Map<String, ChatUser> userMap = usersFuture.get(TIMEOUT, TIMEOUT_UNIT); assertThat(userMap.values(), hasSize(2)); assertThat(userMap.get(chatUser1.getUsername()), is(chatUser1)); assertThat(userMap.get(chatUser2.getUsername()), is(chatUser2)); }