### Question:
RedisRoomManager extends RoomManager { @Override public SessionKey findRoomSessionKeyByUserSession(SessionKey userSessionKey) { if ( userSessionKey == null ) return null; Jedis jedis = JedisFactory.getJedis(); String bytes = jedis.hget(userSessionKey.toString(), H_ROOM_SESSION_KEY); if ( bytes != null ) { SessionKey roomSessionKey = SessionKey.createSessionKeyFromHexString(bytes); return roomSessionKey; } return null; } protected  RedisRoomManager(); String getLocalRoomSetName(); @Override void init(); @Override void destroy(); @Override Room assignRoom(User user, RoomType roomType); @Override boolean leaveRoom(SessionKey userSessionKey); @Override boolean readyStart(SessionKey userSessionKey, boolean isReady); @Override boolean changeMap(SessionKey userSessionKey, String mapId); @Override boolean changeAutomode(SessionKey userSessionKey, boolean autoMode); @Override boolean editSeat(SessionKey userSessionKey, int seatIndex,
			boolean isOpen); @Override void checkRoom(Room room); @Override Room createRoom(User user, RoomType roomType); @Override Room createRoom(User user, RoomType roomType, int basePos); @Override Room createRoom(User user, RoomType roomType, int basePos, SessionKey roomSessionKey); @Override boolean resetRoom(Room room); @Override boolean deleteRoomIfEmpty(Room room); @Override boolean joinRoom(SessionKey roomSessionKey, SessionKey sessionKey); @Override boolean joinRoom(SessionKey roomSessionKey, SessionKey sessionKey, int roomPosition); @Override boolean kickUser(Room room, SessionKey userSessionKey, boolean sendBse); @Override boolean matchRoom(Room roomLeft); @Override void createBattleRoom(Room roomLeft, Room roomRight); @Override BattleRoom createBattleRoomWithoutBegin(Room roomLeft, Room roomRight); @Override boolean updateUserSessionMap(SessionKey userSessionKey, 
			SessionKey roomSessionKey, boolean isAI, Pipeline pipeline); @Override SessionKey findRoomSessionKeyByUserSession(SessionKey userSessionKey); @Override boolean storeRoom(Room room); boolean storeRoom(Room room, Pipeline pipeline); @Override Room acquireRoom(SessionKey roomSessionKey, boolean getRemote); @Override Collection<Room> getLocalRoomCollection(); @Override void removeLocalRoom(SessionKey roomSessionKey); @Override Room popUnfullMultiUserRoom(User user); @Override void sendUserReadyStart(Room room, SessionKey userSessionKey, List<UserInfo> userInfos, boolean isReady); @Override void sendBseEnterRoom(BattleRoom battleRoom); @Override void sendBseUserLeaveRoom(BattleRoom battleRoom); @Override void sendBseUserLeaveRoomToOthers(SessionKey leftUserSessionKey, 
			BattleRoom battleRoom); @Override int[] getRoomUserNumber(RoomType roomType); final String getRoomTypeCurrentUserKeyString(RoomType roomType); final String getRoomTypeMaxUserKeyString(RoomType roomType); static final String H_MACHINE_ID; static final String H_CURRENT_SET_NAME; static final String H_ROOM_SESSION_KEY; static final String[] ZSET_UNFULL_NAME; static final String ZSET_FULL_NAME; static final String[] ZSET_READY_NAME; static final String ROOM_SESSION_KEY_PREFIX; static final String ROOM_COUNT_SUFFIX; static final String ROOM_MAX_SUFFIX; }### Answer:
@Test public void testFindRoomSessionKeyByUserSessionKey() { SessionKey roomSessionKey = manager.findRoomSessionKeyByUserSession(null); assertEquals(null, roomSessionKey); SessionKey sessionKey = SessionKey.createSessionKeyFromRandomString(); roomSessionKey = manager.findRoomSessionKeyByUserSession(null); assertEquals(null, roomSessionKey); }