package io.dropwizard.jackson;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Before;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class DiscoverableSubtypeResolverTest {
private final ObjectMapper mapper = new ObjectMapper();
private final DiscoverableSubtypeResolver resolver = new DiscoverableSubtypeResolver(ExampleTag.class);
@Before
public void setUp() throws Exception {
mapper.setSubtypeResolver(resolver);
}
@Test
public void discoversSubtypes() throws Exception {
assertThat(mapper.readValue("{\"type\":\"a\"}", ExampleSPI.class))
.isInstanceOf(ImplA.class);
assertThat(mapper.readValue("{\"type\":\"b\"}", ExampleSPI.class))
.isInstanceOf(ImplB.class);
}
}