mirror of
https://github.com/ethauvin/JSON-java.git
synced 2025-06-17 07:50:52 -07:00
Merge pull request #51 from johnjaylward/VerifyOptConversions
Verify opt method conversions for JSONArray and JSONObject
This commit is contained in:
commit
71c1eba1e7
2 changed files with 32 additions and 0 deletions
|
@ -3,6 +3,8 @@ package org.json.junit;
|
|||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
@ -414,6 +416,20 @@ public class JSONArrayTest {
|
|||
assertTrue("Array opt string default implicit",
|
||||
"".equals(jsonArray.optString(-1)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the opt methods properly convert string values.
|
||||
*/
|
||||
@Test
|
||||
public void optStringConversion(){
|
||||
JSONArray ja = new JSONArray("[\"123\",\"true\",\"false\"]");
|
||||
assertTrue("unexpected optBoolean value",ja.optBoolean(1,false)==true);
|
||||
assertTrue("unexpected optBoolean value",ja.optBoolean(2,true)==false);
|
||||
assertTrue("unexpected optInt value",ja.optInt(0,0)==123);
|
||||
assertTrue("unexpected optLong value",ja.optLong(0,0)==123);
|
||||
assertTrue("unexpected optDouble value",ja.optDouble(0,0.0)==123.0);
|
||||
assertTrue("unexpected optBigInteger value",ja.optBigInteger(0,BigInteger.ZERO).compareTo(new BigInteger("123"))==0);
|
||||
assertTrue("unexpected optBigDecimal value",ja.optBigDecimal(0,BigDecimal.ZERO).compareTo(new BigDecimal("123"))==0); }
|
||||
|
||||
/**
|
||||
* Exercise the JSONArray.put(value) method with various parameters
|
||||
|
|
|
@ -1735,6 +1735,22 @@ public class JSONObjectTest {
|
|||
assertTrue("optString() should return default string",
|
||||
"hi".equals(jsonObject.optString("hiKey", "hi")));
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the opt methods properly convert string values.
|
||||
*/
|
||||
@Test
|
||||
public void jsonObjectOptStringConversion() {
|
||||
JSONObject jo = new JSONObject("{\"int\":\"123\",\"true\":\"true\",\"false\":\"false\"}");
|
||||
assertTrue("unexpected optBoolean value",jo.optBoolean("true",false)==true);
|
||||
assertTrue("unexpected optBoolean value",jo.optBoolean("false",true)==false);
|
||||
assertTrue("unexpected optInt value",jo.optInt("int",0)==123);
|
||||
assertTrue("unexpected optLong value",jo.optLong("int",0)==123);
|
||||
assertTrue("unexpected optDouble value",jo.optDouble("int",0.0)==123.0);
|
||||
assertTrue("unexpected optBigInteger value",jo.optBigInteger("int",BigInteger.ZERO).compareTo(new BigInteger("123"))==0);
|
||||
assertTrue("unexpected optBigDecimal value",jo.optBigDecimal("int",BigDecimal.ZERO).compareTo(new BigDecimal("123"))==0);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirm behavior when JSONObject put(key, null object) is called
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue