mirror of
https://github.com/ethauvin/JSON-java.git
synced 2025-06-17 07:50:52 -07:00
Updates tests to include all opt methods and verify for missing keys.
This commit is contained in:
parent
62524b531d
commit
a2c311527b
2 changed files with 47 additions and 6 deletions
|
@ -373,7 +373,10 @@ public class JSONArrayTest {
|
|||
assertTrue("Array opt value out of range",
|
||||
null == jsonArray.opt(-1));
|
||||
|
||||
assertTrue("Array opt boolean",
|
||||
assertTrue("Array opt value out of range",
|
||||
null == jsonArray.opt(jsonArray.length()));
|
||||
|
||||
assertTrue("Array opt boolean",
|
||||
Boolean.TRUE == jsonArray.optBoolean(0));
|
||||
assertTrue("Array opt boolean default",
|
||||
Boolean.FALSE == jsonArray.optBoolean(-1, Boolean.FALSE));
|
||||
|
|
|
@ -1714,20 +1714,28 @@ public class JSONObjectTest {
|
|||
}
|
||||
|
||||
/**
|
||||
* Exercise JSONObject opt(key, default) method
|
||||
* Exercise JSONObject opt(key, default) method.
|
||||
*/
|
||||
@Test
|
||||
public void jsonObjectOptDefault() {
|
||||
|
||||
String str = "{\"myKey\": \"myval\"}";
|
||||
String str = "{\"myKey\": \"myval\", \"hiKey\": null}";
|
||||
JSONObject jsonObject = new JSONObject(str);
|
||||
|
||||
assertTrue("optBigDecimal() should return default ",
|
||||
BigDecimal.TEN.compareTo(jsonObject.optBigDecimal("myKey", BigDecimal.TEN))==0);
|
||||
assertTrue(" should return default ",
|
||||
BigInteger.TEN.compareTo(jsonObject.optBigInteger("myKey",BigInteger.TEN ))==0);
|
||||
assertTrue("optBoolean() should return default boolean",
|
||||
Boolean.TRUE == jsonObject.optBoolean("myKey", Boolean.TRUE));
|
||||
assertTrue("optInt() should return default int",
|
||||
42 == jsonObject.optInt("myKey", 42));
|
||||
true == jsonObject.optBoolean("myKey", true));
|
||||
assertTrue("optInt() should return default int",
|
||||
42 == jsonObject.optInt("myKey", 42));
|
||||
assertTrue("optEnum() should return default ",
|
||||
MyEnum.VAL1.equals(jsonObject.optEnum(MyEnum.class, "myKey", MyEnum.VAL1)));
|
||||
assertTrue("optJSONArray() should return null ",
|
||||
null==jsonObject.optJSONArray("myKey"));
|
||||
assertTrue("optJSONObject() should return null ",
|
||||
null==jsonObject.optJSONObject("myKey"));
|
||||
assertTrue("optLong() should return default long",
|
||||
42 == jsonObject.optLong("myKey", 42));
|
||||
assertTrue("optDouble() should return default double",
|
||||
|
@ -1736,6 +1744,36 @@ public class JSONObjectTest {
|
|||
"hi".equals(jsonObject.optString("hiKey", "hi")));
|
||||
}
|
||||
|
||||
/**
|
||||
* Exercise JSONObject opt(key, default) method when the key doesn't exist.
|
||||
*/
|
||||
@Test
|
||||
public void jsonObjectOptNoKey() {
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
|
||||
assertTrue("optBigDecimal() should return default ",
|
||||
BigDecimal.TEN.compareTo(jsonObject.optBigDecimal("myKey", BigDecimal.TEN))==0);
|
||||
assertTrue(" should return default ",
|
||||
BigInteger.TEN.compareTo(jsonObject.optBigInteger("myKey",BigInteger.TEN ))==0);
|
||||
assertTrue("optBoolean() should return default boolean",
|
||||
true == jsonObject.optBoolean("myKey", true));
|
||||
assertTrue("optInt() should return default int",
|
||||
42 == jsonObject.optInt("myKey", 42));
|
||||
assertTrue("optEnum() should return default ",
|
||||
MyEnum.VAL1.equals(jsonObject.optEnum(MyEnum.class, "myKey", MyEnum.VAL1)));
|
||||
assertTrue("optJSONArray() should return null ",
|
||||
null==jsonObject.optJSONArray("myKey"));
|
||||
assertTrue("optJSONObject() should return null ",
|
||||
null==jsonObject.optJSONObject("myKey"));
|
||||
assertTrue("optLong() should return default long",
|
||||
42 == jsonObject.optLong("myKey", 42));
|
||||
assertTrue("optDouble() should return default double",
|
||||
42.3 == jsonObject.optDouble("myKey", 42.3));
|
||||
assertTrue("optString() should return default string",
|
||||
"hi".equals(jsonObject.optString("hiKey", "hi")));
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the opt methods properly convert string values.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue