SocketIoMemoryAdapter extends SocketIoAdapter { @Override public String[] listClientRooms(SocketIoSocket socket) throws IllegalArgumentException { if (socket == null) { throw new IllegalArgumentException("socket must not be null."); } if (mSocketRooms.containsKey(socket.getId())) { return mSocketRooms.get(socket.getId()).toArray(new String[0]); } else { return new String[0]; } } private  SocketIoMemoryAdapter(SocketIoNamespace namespace); @Override synchronized void broadcast(Packet packet, String[] rooms, String[] socketsExcluded); @Override synchronized void add(String room, SocketIoSocket socket); @Override synchronized void remove(String room, SocketIoSocket socket); @Override SocketIoSocket[] listClients(String room); @Override String[] listClientRooms(SocketIoSocket socket);  }
@Test(expected = IllegalArgumentException.class) public void test_listClientRooms_exception_on_null_room() { final SocketIoAdapter adapter = ADAPTER_FACTORY.createAdapter(null); adapter.listClientRooms(null); }
@Test public void test_listClientRooms_unknown_socket() { final SocketIoAdapter adapter = ADAPTER_FACTORY.createAdapter(null); final SocketIoSocket socket1 = createDummySocket(); final SocketIoSocket socket2 = createDummySocket(); assertEquals(0, adapter.listClientRooms(socket1).length); assertEquals(0, adapter.listClientRooms(socket2).length); }