TestNumberPrecision.java
package net.minidev.json.test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.math.BigInteger;
import net.minidev.json.JSONArray;
import net.minidev.json.JSONValue;
import org.junit.jupiter.api.Test;
public class TestNumberPrecision {
@Test
public void testMaxLong() {
Long v = Long.MAX_VALUE;
String s = "[" + v + "]";
JSONArray array = (JSONArray) JSONValue.parse(s);
Object r = array.get(0);
assertEquals(v, r);
}
@Test
public void testMinLong() {
Long v = Long.MIN_VALUE;
String s = "[" + v + "]";
JSONArray array = (JSONArray) JSONValue.parse(s);
Object r = array.get(0);
assertEquals(v, r);
}
@Test
public void testMinBig() {
BigInteger v = BigInteger.valueOf(Long.MIN_VALUE).subtract(BigInteger.ONE);
String s = "[" + v + "]";
JSONArray array = (JSONArray) JSONValue.parse(s);
Object r = array.get(0);
assertEquals(v, r);
}
@Test
public void testMaxBig() {
BigInteger v = BigInteger.valueOf(Long.MAX_VALUE).add(BigInteger.ONE);
String s = "[" + v + "]";
JSONArray array = (JSONArray) JSONValue.parse(s);
Object r = array.get(0);
assertEquals(v, r);
}
}