@Test public void testGetChatUsersForChannelTwoUsersInDifferentChannel() throws Exception { instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser1); instance.onUserJoinedChannel(OTHER_CHANNEL_NAME, chatUser2); ObservableMap<String, ChatUser> chatUsersForDefaultChannel = instance.getChatUsersForChannel(DEFAULT_CHANNEL_NAME); ObservableMap<String, ChatUser> chatUsersForOtherChannel = instance.getChatUsersForChannel(OTHER_CHANNEL_NAME); assertThat(chatUsersForDefaultChannel.values(), hasSize(1)); assertThat(chatUsersForDefaultChannel.values().iterator().next(), sameInstance(chatUser1)); assertThat(chatUsersForOtherChannel.values(), hasSize(1)); assertThat(chatUsersForOtherChannel.values().iterator().next(), sameInstance(chatUser2)); }
@Test public void testOnDisconnected() throws Exception { instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser1); assertThat(instance.getChatUsersForChannel(DEFAULT_CHANNEL_NAME).values(), hasSize(1)); instance.connectionStateProperty().set(ConnectionState.DISCONNECTED); assertThat(instance.getChatUsersForChannel(DEFAULT_CHANNEL_NAME).values(), empty()); }
@Test public void testAddChannelUserListListener() throws Exception { @SuppressWarnings("unchecked") MapChangeListener<String, ChatUser> listener = mock(MapChangeListener.class); instance.addChannelUserListListener(DEFAULT_CHANNEL_NAME, listener); instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser1); instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser2); verify(listener, times(2)).onChanged(any()); }
@Test public void testGetChatUsersForChannelTwoUsersInSameChannel() throws Exception { instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser1); instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser2); ObservableMap<String, ChatUser> chatUsersForDefaultChannel = instance.getChatUsersForChannel(DEFAULT_CHANNEL_NAME); assertThat(chatUsersForDefaultChannel.values(), hasSize(2)); assertThat(chatUsersForDefaultChannel.values(), containsInAnyOrder(chatUser1, chatUser2)); }
@Test public void testOnChatUserQuit() throws Exception { ObservableMap<String, ChatUser> usersForChannel = instance.getChatUsersForChannel(DEFAULT_CHANNEL_NAME); assertThat(usersForChannel.values(), empty()); instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser1); instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser2); instance.onChatUserQuit(chatUser1.getUsername()); assertThat(usersForChannel.values(), hasSize(1)); assertThat(usersForChannel.get(chatUser2.getUsername()), sameInstance(chatUser2)); }
@Test public void testOnModeratorSet() throws Exception { instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser1); ObservableSet<String> moderatorInChannels = instance .getChatUsersForChannel(DEFAULT_CHANNEL_NAME) .get(chatUser1.getUsername()) .getModeratorInChannels(); assertThat(moderatorInChannels, empty()); instance.onModeratorSet(DEFAULT_CHANNEL_NAME, chatUser1.getUsername()); assertThat(moderatorInChannels, contains(DEFAULT_CHANNEL_NAME)); }
@Test public void testAddOnModeratorSetListener() throws Exception { instance.onUserJoinedChannel(DEFAULT_CHANNEL_NAME, chatUser1); ObservableSet<String> moderatorInChannels = instance .getChatUsersForChannel(DEFAULT_CHANNEL_NAME) .get(chatUser1.getUsername()) .getModeratorInChannels(); assertThat(moderatorInChannels, empty()); instance.onModeratorSet(DEFAULT_CHANNEL_NAME, chatUser1.getUsername()); assertThat(moderatorInChannels, hasSize(1)); assertThat(moderatorInChannels.iterator().next(), is(DEFAULT_CHANNEL_NAME)); }