### Question:
ServerLobby { public synchronized void removeLobbyStateListener(ServerLobbyListener listener) { if(listener == null) return; listeners.remove(listener); } ServerLobby(String serverName, int maxRobots, int maxUsers); synchronized void addLobbyStateListener(ServerLobbyListener listener); synchronized void removeLobbyStateListener(ServerLobbyListener listener); synchronized boolean addUserProxy(UserProxy userProxy); synchronized void removeUserProxy(UserProxy userProxy); synchronized boolean registerRobot(RobotProxy robot); synchronized void unregisterRobot(RobotProxy robot); synchronized void broadcastMessage(String message); synchronized void broadcastUserStateUpdate(UserProxy userProxy); synchronized void setGameType(GameType newType); boolean gameInProgress(); GameController getCurrentGame(); GameType getCurrentGameType(); synchronized RobotProxy getRobotProxy(String identifier); synchronized boolean isUsernameRegistered(String username); String getServerName(); synchronized void launchGame(); synchronized void endCurrentGame();  }### Answer:
@Test public void testRemoveLobbyStateListener() { TestLobbyListener testRemove = new TestLobbyListener(); testLobby.addLobbyStateListener(testRemove); testLobby.removeLobbyStateListener(testRemove); testLobby.removeLobbyStateListener(null); testLobby.removeLobbyStateListener(testRemove); testLobby.broadcastMessage("Test Chat"); assertEquals(null, testRemove.getLastChatEvent()); assertEquals(0, testRemove.getNumEvents()); }