blob: b254ab8f236329ca2263d99796bd90e0874b3d0a [file] [log] [blame]
package com.fasterxml.jackson.failing;
import java.util.*;
import com.fasterxml.jackson.databind.*;
// for [databind#938]
public class RecursiveType938Test extends BaseMapTest
{
public static interface Ability<T> { }
public static final class ImmutablePair<L, R> implements Map.Entry<L, R>, Ability<ImmutablePair<L, R>> {
public final L key;
public final R value;
public ImmutablePair(final L key, final R value) {
this.key = key;
this.value = value;
}
@Override
public L getKey() {
return key;
}
@Override
public R getValue() {
return value;
}
@Override
public R setValue(final R value) {
throw new UnsupportedOperationException();
}
static <L, R> ImmutablePair<L, R> of(final L left, final R right) {
return new ImmutablePair<L, R>(left, right);
}
}
private final ObjectMapper MAPPER = new ObjectMapper();
public void testRecursivePair() throws Exception
{
JavaType t = MAPPER.constructType(ImmutablePair.class);
assertNotNull(t);
assertEquals(ImmutablePair.class, t.getRawClass());
/*
List<ImmutablePair<String, Double>> list = new ArrayList<ImmutablePair<String, Double>>();
list.add(ImmutablePair.of("Hello World!", 123d));
String json = MAPPER.writeValueAsString(list);
assertNotNull(json);
*/
}
}