SocketIoMemoryAdapter extends SocketIoAdapter { @Override public synchronized void add(String room, SocketIoSocket socket) throws IllegalArgumentException { if (room == null) { throw new IllegalArgumentException("room must not be null."); } if (socket == null) { throw new IllegalArgumentException("socket must not be null."); } if (!mSocketRooms.containsKey(socket.getId())) { mSocketRooms.put(socket.getId(), new HashSet<>()); } if (!mRoomSockets.containsKey(room)) { mRoomSockets.put(room, new HashSet<>()); } mSocketRooms.get(socket.getId()).add(room); mRoomSockets.get(room).add(socket); } 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_add_exception_on_null_room() { final SocketIoAdapter adapter = ADAPTER_FACTORY.createAdapter(null); adapter.add(null, Mockito.mock(SocketIoSocket.class)); }
@Test(expected = IllegalArgumentException.class) public void test_add_exception_on_null_socket() { final SocketIoAdapter adapter = ADAPTER_FACTORY.createAdapter(null); adapter.add("foo", null); }