mirror of
https://github.com/ethauvin/JSON-java.git
synced 2025-06-17 07:50:52 -07:00
93.8% coverage
This commit is contained in:
parent
b2e0a77ae0
commit
8168e6f52a
1 changed files with 224 additions and 0 deletions
224
JSONStringerTest.java
Normal file
224
JSONStringerTest.java
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
package org.json.junit;
|
||||||
|
|
||||||
|
import org.json.*;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for JSON-Java JSONStringer.java
|
||||||
|
*/
|
||||||
|
public class JSONStringerTest {
|
||||||
|
|
||||||
|
@Test(expected=JSONException.class)
|
||||||
|
public void nullKeyException() {
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.object();
|
||||||
|
jsonStringer.key(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected=JSONException.class)
|
||||||
|
public void outOfSequenceException() {
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.key("hi");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected=JSONException.class)
|
||||||
|
public void missplacedArrayException() {
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.object().endObject();
|
||||||
|
jsonStringer.array();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected=JSONException.class)
|
||||||
|
public void missplacedEndArrayException() {
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.object();
|
||||||
|
jsonStringer.endArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected=JSONException.class)
|
||||||
|
public void missplacedEndObjectException() {
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.array();
|
||||||
|
jsonStringer.endObject();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected=JSONException.class)
|
||||||
|
public void missplacedObjectException() {
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.object().endObject();
|
||||||
|
jsonStringer.object();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected=JSONException.class)
|
||||||
|
public void exceedNestDepthException() {
|
||||||
|
new JSONStringer().object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object().
|
||||||
|
key("k").object().key("k").object().key("k").object().key("k").object().key("k").object();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void simpleObjectString() {
|
||||||
|
String expectedStr =
|
||||||
|
"{"+
|
||||||
|
"\"trueValue\":true,"+
|
||||||
|
"\"falseValue\":false,"+
|
||||||
|
"\"nullValue\":null,"+
|
||||||
|
"\"stringValue\":\"hello world!\","+
|
||||||
|
"\"complexStringValue\":\"h\be\tllo w\u1234orld!\","+
|
||||||
|
"\"intValue\":42,"+
|
||||||
|
"\"doubleValue\":-23.45e67"+
|
||||||
|
"}";
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.object();
|
||||||
|
jsonStringer.key("trueValue").value(true);
|
||||||
|
jsonStringer.key("falseValue").value(false);
|
||||||
|
jsonStringer.key("nullValue").value(null);
|
||||||
|
jsonStringer.key("stringValue").value("hello world!");
|
||||||
|
jsonStringer.key("complexStringValue").value("h\be\tllo w\u1234orld!");
|
||||||
|
jsonStringer.key("intValue").value(42);
|
||||||
|
jsonStringer.key("doubleValue").value(-23.45e67);
|
||||||
|
jsonStringer.endObject();
|
||||||
|
String str = jsonStringer.toString();
|
||||||
|
JSONObject jsonObject = new JSONObject(str);
|
||||||
|
JSONObject expectedJsonObject = new JSONObject(expectedStr);
|
||||||
|
Util.compareActualVsExpectedJsonObjects(jsonObject, expectedJsonObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void simpleArrayString() {
|
||||||
|
String expectedStr =
|
||||||
|
"["+
|
||||||
|
"true,"+
|
||||||
|
"false,"+
|
||||||
|
"null,"+
|
||||||
|
"\"hello world!\","+
|
||||||
|
"42,"+
|
||||||
|
"-23.45e67"+
|
||||||
|
"]";
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.array();
|
||||||
|
jsonStringer.value(true);
|
||||||
|
jsonStringer.value(false);
|
||||||
|
jsonStringer.value(null);
|
||||||
|
jsonStringer.value("hello world!");
|
||||||
|
jsonStringer.value(42);
|
||||||
|
jsonStringer.value(-23.45e67);
|
||||||
|
jsonStringer.endArray();
|
||||||
|
String str = jsonStringer.toString();
|
||||||
|
JSONArray jsonArray = new JSONArray(str);
|
||||||
|
JSONArray expectedJsonArray = new JSONArray(expectedStr);
|
||||||
|
Util.compareActualVsExpectedJsonArrays(jsonArray, expectedJsonArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void complexObjectString() {
|
||||||
|
String expectedStr =
|
||||||
|
"{"+
|
||||||
|
"\"trueValue\":true,"+
|
||||||
|
"\"falseValue\":false,"+
|
||||||
|
"\"nullValue\":null,"+
|
||||||
|
"\"stringValue\":\"hello world!\","+
|
||||||
|
"\"object2\":{"+
|
||||||
|
"\"k1\":\"v1\","+
|
||||||
|
"\"k2\":\"v2\","+
|
||||||
|
"\"k3\":\"v3\","+
|
||||||
|
"\"array1\":["+
|
||||||
|
"1,"+
|
||||||
|
"2,"+
|
||||||
|
"{"+
|
||||||
|
"\"k4\":\"v4\","+
|
||||||
|
"\"k5\":\"v5\","+
|
||||||
|
"\"k6\":\"v6\","+
|
||||||
|
"\"array2\":["+
|
||||||
|
"5,"+
|
||||||
|
"6,"+
|
||||||
|
"7,"+
|
||||||
|
"8"+
|
||||||
|
"]"+
|
||||||
|
"},"+
|
||||||
|
"3,"+
|
||||||
|
"4"+
|
||||||
|
"]"+
|
||||||
|
"},"+
|
||||||
|
"\"complexStringValue\":\"h\be\tllo w\u1234orld!\","+
|
||||||
|
"\"intValue\":42,"+
|
||||||
|
"\"doubleValue\":-23.45e67"+
|
||||||
|
"}";
|
||||||
|
JSONStringer jsonStringer = new JSONStringer();
|
||||||
|
jsonStringer.object();
|
||||||
|
jsonStringer.key("trueValue").value(true);
|
||||||
|
jsonStringer.key("falseValue").value(false);
|
||||||
|
jsonStringer.key("nullValue").value(null);
|
||||||
|
jsonStringer.key("stringValue").value("hello world!");
|
||||||
|
jsonStringer.key("object2").object();
|
||||||
|
jsonStringer.key("k1").value("v1");
|
||||||
|
jsonStringer.key("k2").value("v2");
|
||||||
|
jsonStringer.key("k3").value("v3");
|
||||||
|
jsonStringer.key("array1").array();
|
||||||
|
jsonStringer.value(1);
|
||||||
|
jsonStringer.value(2);
|
||||||
|
jsonStringer.object();
|
||||||
|
jsonStringer.key("k4").value("v4");
|
||||||
|
jsonStringer.key("k5").value("v5");
|
||||||
|
jsonStringer.key("k6").value("v6");
|
||||||
|
jsonStringer.key("array2").array();
|
||||||
|
jsonStringer.value(5);
|
||||||
|
jsonStringer.value(6);
|
||||||
|
jsonStringer.value(7);
|
||||||
|
jsonStringer.value(8);
|
||||||
|
jsonStringer.endArray();
|
||||||
|
jsonStringer.endObject();
|
||||||
|
jsonStringer.value(3);
|
||||||
|
jsonStringer.value(4);
|
||||||
|
jsonStringer.endArray();
|
||||||
|
jsonStringer.endObject();
|
||||||
|
jsonStringer.key("complexStringValue").value("h\be\tllo w\u1234orld!");
|
||||||
|
jsonStringer.key("intValue").value(42);
|
||||||
|
jsonStringer.key("doubleValue").value(-23.45e67);
|
||||||
|
jsonStringer.endObject();
|
||||||
|
String str = jsonStringer.toString();
|
||||||
|
JSONObject jsonObject = new JSONObject(str);
|
||||||
|
JSONObject expectedJsonObject = new JSONObject(expectedStr);
|
||||||
|
Util.compareActualVsExpectedJsonObjects(jsonObject, expectedJsonObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue