Merge pull request #532 from johnjaylward/CheckBigDecimalSupport

Verifies BigDecimal support does not have a regression
This commit is contained in:
Sean Leary 2020-06-25 17:02:18 -05:00 committed by GitHub
commit 6ddaa13c1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -35,6 +35,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.math.BigDecimal;
@ -55,6 +56,7 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONPointerException;
import org.json.JSONTokener;
import org.json.XML;
import org.json.junit.data.BrokenToString;
import org.json.junit.data.ExceptionalBean;
@ -3079,6 +3081,23 @@ public class JSONObjectTest {
assertNotNull(jo.get("ALL"));
}
/**
* Sample test case from https://github.com/stleary/JSON-java/issues/531
* which verifies that no regression in double/BigDecimal support is present.
*/
public void testObjectToBigDecimal() {
double value = 1412078745.01074;
Reader reader = new StringReader("[{\"value\": " + value + "}]");
JSONTokener tokener = new JSONTokener(reader);
JSONArray array = new JSONArray(tokener);
JSONObject jsonObject = array.getJSONObject(0);
BigDecimal current = jsonObject.getBigDecimal("value");
BigDecimal wantedValue = BigDecimal.valueOf(value);
assertEquals(current, wantedValue);
}
/**
* Tests the exception portions of populateMap.
*/