ClaimTest.java
package com.auth0.jwt.interfaces;
import com.auth0.jwt.exceptions.JWTDecodeException;
import org.junit.Test;
import java.util.Date;
import java.util.List;
import java.util.Map;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;
public class ClaimTest {
@Test
public void shouldGetInstantUsingDefault() {
Date date = new Date(1646667492000L);
Claim claim = new ClaimImplForTest(date);
assertThat(claim.asInstant(), is(date.toInstant()));
}
@Test
public void shouldGetNullInstantUsingDefault() {
Claim claim = new ClaimImplForTest(null);
assertThat(claim.asInstant(), is(nullValue()));
}
/**
* Implementation that does not override {@code asInstant()}
*/
static class ClaimImplForTest implements Claim {
private final Date date;
ClaimImplForTest(Date date) {
this.date = date;
}
@Override
public boolean isNull() {
return false;
}
@Override
public boolean isMissing() {
return false;
}
@Override
public Boolean asBoolean() {
return null;
}
@Override
public Integer asInt() {
return null;
}
@Override
public Long asLong() {
return null;
}
@Override
public Double asDouble() {
return null;
}
@Override
public String asString() {
return null;
}
@Override
public Date asDate() {
return date;
}
@Override
public <T> T[] asArray(Class<T> clazz) throws JWTDecodeException {
return null;
}
@Override
public <T> List<T> asList(Class<T> clazz) throws JWTDecodeException {
return null;
}
@Override
public Map<String, Object> asMap() throws JWTDecodeException {
return null;
}
@Override
public <T> T as(Class<T> tClazz) throws JWTDecodeException {
return null;
}
}
}