TestMapPublic.java
package net.minidev.json.testMapping;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Map;
import java.util.TreeMap;
import net.minidev.json.JSONValue;
import org.junit.jupiter.api.Test;
public class TestMapPublic {
@Test
public void testObjInts() throws Exception {
String s = "{\"vint\":[1,2,3]}";
T1 r = JSONValue.parse(s, T1.class);
assertEquals(3, r.vint[2]);
}
String MultiTyepJson =
"{\"name\":\"B\",\"age\":120,\"cost\":12000,\"flag\":3,\"valid\":true,\"f\":1.2,\"d\":1.5,\"l\":12345678912345}";
@Test
public void testObjMixte() throws Exception {
T2 r = JSONValue.parse(MultiTyepJson, T2.class);
assertEquals("B", r.name);
assertEquals(120, r.age);
assertEquals(12000, r.cost);
assertEquals(3, r.flag);
assertEquals(true, r.valid);
assertEquals(1.2F, r.f);
assertEquals(1.5, r.d);
assertEquals(12345678912345L, r.l);
}
@Test
public void testObjMixtePrim() throws Exception {
T3 r = JSONValue.parse(MultiTyepJson, T3.class);
assertEquals("B", r.name);
assertEquals(Short.valueOf((short) 120), r.age);
assertEquals(Integer.valueOf(12000), r.cost);
assertEquals(Byte.valueOf((byte) 3), r.flag);
assertEquals(Boolean.TRUE, r.valid);
assertEquals(1.2F, r.f);
assertEquals(1.5, r.d);
assertEquals(Long.valueOf(12345678912345L), r.l);
}
public static class T1 {
public int[] vint;
}
public static class T2 {
public String name;
public short age;
public int cost;
public byte flag;
public boolean valid;
public float f;
public double d;
public long l;
}
public static class T3 {
public String name;
public Short age;
public Integer cost;
public Byte flag;
public Boolean valid;
public Float f;
public Double d;
public Long l;
}
public static class T123 {
public T1 t1;
public T2 t2;
public T3 t3;
}
public static class T5 {
public Map<String, String> data;
}
public static class T6 {
public TreeMap<String, String> data;
}
}