### Question:
DoubleJWT { public Map<String, Claim> decodeRefreshToken(String token) { DecodedJWT jwt = refreshVerifier.verify(token); checkTokenExpired(jwt.getExpiresAt()); checkTokenType(jwt.getClaim("type").asString(), REFRESH_TYPE); checkTokenScope(jwt.getClaim("scope").asString()); return jwt.getClaims(); } DoubleJWT(Algorithm algorithm, long accessExpire, long refreshExpire);  DoubleJWT(String secret, long accessExpire, long refreshExpire); String generateToken(String tokenType, long identity, String scope, long expire); Map<String, Claim> decodeAccessToken(String token); Map<String, Claim> decodeRefreshToken(String token); String generateAccessToken(long identity); String generateRefreshToken(long identity); Tokens generateTokens(long identity); JWTVerifier getAccessVerifier(); JWTVerifier getRefreshVerifier(); JWTCreator.Builder getBuilder(); Algorithm getAlgorithm(); Long getAccessExpire(); Long getRefreshExpire();  }### Answer:
@Test public void decodeRefreshToken() { DoubleJWT jwt = new DoubleJWT("secret", 10000, 20000); String token = jwt.generateRefreshToken(1); assertNotNull(token); log.info(token); Map<String, Claim> claimMap = jwt.decodeRefreshToken(token); assertEquals(LIN_SCOPE, claimMap.get("scope").asString()); assertEquals(REFRESH_TYPE, claimMap.get("type").asString()); }