Skip to content

Commit 48c872f

Browse files
committed
Replace util compare method with JsonPath
1 parent 7187006 commit 48c872f

File tree

1 file changed

+51
-57
lines changed

1 file changed

+51
-57
lines changed

JSONStringerTest.java

Lines changed: 51 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
import static org.junit.Assert.*;
44

5+
import java.util.*;
6+
57
import org.json.*;
68
import org.junit.Test;
79

10+
import com.jayway.jsonpath.*;
11+
812

913
/**
1014
* Tests for JSON-Java JSONStringer.
@@ -175,16 +179,6 @@ public void exceedNestDepthException() {
175179
*/
176180
@Test
177181
public void simpleObjectString() {
178-
String expectedStr =
179-
"{"+
180-
"\"trueValue\":true,"+
181-
"\"falseValue\":false,"+
182-
"\"nullValue\":null,"+
183-
"\"stringValue\":\"hello world!\","+
184-
"\"complexStringValue\":\"h\be\tllo w\u1234orld!\","+
185-
"\"intValue\":42,"+
186-
"\"doubleValue\":-23.45e67"+
187-
"}";
188182
JSONStringer jsonStringer = new JSONStringer();
189183
jsonStringer.object();
190184
jsonStringer.key("trueValue").value(true);
@@ -197,8 +191,16 @@ public void simpleObjectString() {
197191
jsonStringer.endObject();
198192
String str = jsonStringer.toString();
199193
JSONObject jsonObject = new JSONObject(str);
200-
JSONObject expectedJsonObject = new JSONObject(expectedStr);
201-
Util.compareActualVsExpectedJsonObjects(jsonObject, expectedJsonObject);
194+
195+
Object doc = Configuration.defaultConfiguration().jsonProvider().parse(jsonObject.toString());
196+
assertTrue("expected 7 top level items", ((Map<?,?>)(JsonPath.read(doc, "$"))).size() == 7);
197+
assertTrue("expected true", Boolean.TRUE.equals(JsonPath.read(doc, "$.trueValue")));
198+
assertTrue("expected false", Boolean.FALSE.equals(JsonPath.read(doc, "$.falseValue")));
199+
assertTrue("expected null", null == JsonPath.read(doc, "$.nullValue"));
200+
assertTrue("expected hello world!", "hello world!".equals(JsonPath.read(doc, "$.stringValue")));
201+
assertTrue("expected h\be\tllo w\u1234orld!", "h\be\tllo w\u1234orld!".equals(JsonPath.read(doc, "$.complexStringValue")));
202+
assertTrue("expected 42", Integer.valueOf(42).equals(JsonPath.read(doc, "$.intValue")));
203+
assertTrue("expected -23.45e67", Double.valueOf(-23.45e67).equals(JsonPath.read(doc, "$.doubleValue")));
202204
}
203205

204206
/**
@@ -207,15 +209,6 @@ public void simpleObjectString() {
207209
*/
208210
@Test
209211
public void simpleArrayString() {
210-
String expectedStr =
211-
"["+
212-
"true,"+
213-
"false,"+
214-
"null,"+
215-
"\"hello world!\","+
216-
"42,"+
217-
"-23.45e67"+
218-
"]";
219212
JSONStringer jsonStringer = new JSONStringer();
220213
jsonStringer.array();
221214
jsonStringer.value(true);
@@ -227,8 +220,15 @@ public void simpleArrayString() {
227220
jsonStringer.endArray();
228221
String str = jsonStringer.toString();
229222
JSONArray jsonArray = new JSONArray(str);
230-
JSONArray expectedJsonArray = new JSONArray(expectedStr);
231-
Util.compareActualVsExpectedJsonArrays(jsonArray, expectedJsonArray);
223+
224+
Object doc = Configuration.defaultConfiguration().jsonProvider().parse(jsonArray.toString());
225+
assertTrue("expected 6 top level items", ((List<?>)(JsonPath.read(doc, "$"))).size() == 6);
226+
assertTrue("expected true", Boolean.TRUE.equals(JsonPath.read(doc, "$[0]")));
227+
assertTrue("expected false", Boolean.FALSE.equals(JsonPath.read(doc, "$[1]")));
228+
assertTrue("expected null", null == JsonPath.read(doc, "$[2]"));
229+
assertTrue("expected hello world!", "hello world!".equals(JsonPath.read(doc, "$[3]")));
230+
assertTrue("expected 42", Integer.valueOf(42).equals(JsonPath.read(doc, "$[4]")));
231+
assertTrue("expected -23.45e67", Double.valueOf(-23.45e67).equals(JsonPath.read(doc, "$[5]")));
232232
}
233233

234234
/**
@@ -237,38 +237,6 @@ public void simpleArrayString() {
237237
*/
238238
@Test
239239
public void complexObjectString() {
240-
String expectedStr =
241-
"{"+
242-
"\"trueValue\":true,"+
243-
"\"falseValue\":false,"+
244-
"\"nullValue\":null,"+
245-
"\"stringValue\":\"hello world!\","+
246-
"\"object2\":{"+
247-
"\"k1\":\"v1\","+
248-
"\"k2\":\"v2\","+
249-
"\"k3\":\"v3\","+
250-
"\"array1\":["+
251-
"1,"+
252-
"2,"+
253-
"{"+
254-
"\"k4\":\"v4\","+
255-
"\"k5\":\"v5\","+
256-
"\"k6\":\"v6\","+
257-
"\"array2\":["+
258-
"5,"+
259-
"6,"+
260-
"7,"+
261-
"8"+
262-
"]"+
263-
"},"+
264-
"3,"+
265-
"4"+
266-
"]"+
267-
"},"+
268-
"\"complexStringValue\":\"h\be\tllo w\u1234orld!\","+
269-
"\"intValue\":42,"+
270-
"\"doubleValue\":-23.45e67"+
271-
"}";
272240
JSONStringer jsonStringer = new JSONStringer();
273241
jsonStringer.object();
274242
jsonStringer.key("trueValue").value(true);
@@ -303,8 +271,34 @@ public void complexObjectString() {
303271
jsonStringer.endObject();
304272
String str = jsonStringer.toString();
305273
JSONObject jsonObject = new JSONObject(str);
306-
JSONObject expectedJsonObject = new JSONObject(expectedStr);
307-
Util.compareActualVsExpectedJsonObjects(jsonObject, expectedJsonObject);
274+
275+
Object doc = Configuration.defaultConfiguration().jsonProvider().parse(jsonObject.toString());
276+
assertTrue("expected 8 top level items", ((Map<?,?>)(JsonPath.read(doc, "$"))).size() == 8);
277+
assertTrue("expected 4 object2 items", ((Map<?,?>)(JsonPath.read(doc, "$.object2"))).size() == 4);
278+
assertTrue("expected 5 array1 items", ((List<?>)(JsonPath.read(doc, "$.object2.array1"))).size() == 5);
279+
assertTrue("expected 4 array[2] items", ((Map<?,?>)(JsonPath.read(doc, "$.object2.array1[2]"))).size() == 4);
280+
assertTrue("expected 4 array1[2].array2 items", ((List<?>)(JsonPath.read(doc, "$.object2.array1[2].array2"))).size() == 4);
281+
assertTrue("expected true", Boolean.TRUE.equals(JsonPath.read(doc, "$.trueValue")));
282+
assertTrue("expected false", Boolean.FALSE.equals(JsonPath.read(doc, "$.falseValue")));
283+
assertTrue("expected null", null == JsonPath.read(doc, "$.nullValue"));
284+
assertTrue("expected hello world!", "hello world!".equals(JsonPath.read(doc, "$.stringValue")));
285+
assertTrue("expected 42", Integer.valueOf(42).equals(JsonPath.read(doc, "$.intValue")));
286+
assertTrue("expected -23.45e67", Double.valueOf(-23.45e67).equals(JsonPath.read(doc, "$.doubleValue")));
287+
assertTrue("expected h\be\tllo w\u1234orld!", "h\be\tllo w\u1234orld!".equals(JsonPath.read(doc, "$.complexStringValue")));
288+
assertTrue("expected v1", "v1".equals(JsonPath.read(doc, "$.object2.k1")));
289+
assertTrue("expected v2", "v2".equals(JsonPath.read(doc, "$.object2.k2")));
290+
assertTrue("expected v3", "v3".equals(JsonPath.read(doc, "$.object2.k3")));
291+
assertTrue("expected 1", Integer.valueOf(1).equals(JsonPath.read(doc, "$.object2.array1[0]")));
292+
assertTrue("expected 2", Integer.valueOf(2).equals(JsonPath.read(doc, "$.object2.array1[1]")));
293+
assertTrue("expected v4", "v4".equals(JsonPath.read(doc, "$.object2.array1[2].k4")));
294+
assertTrue("expected v5", "v5".equals(JsonPath.read(doc, "$.object2.array1[2].k5")));
295+
assertTrue("expected v6", "v6".equals(JsonPath.read(doc, "$.object2.array1[2].k6")));
296+
assertTrue("expected 5", Integer.valueOf(5).equals(JsonPath.read(doc, "$.object2.array1[2].array2[0]")));
297+
assertTrue("expected 6", Integer.valueOf(6).equals(JsonPath.read(doc, "$.object2.array1[2].array2[1]")));
298+
assertTrue("expected 7", Integer.valueOf(7).equals(JsonPath.read(doc, "$.object2.array1[2].array2[2]")));
299+
assertTrue("expected 8", Integer.valueOf(8).equals(JsonPath.read(doc, "$.object2.array1[2].array2[3]")));
300+
assertTrue("expected 3", Integer.valueOf(3).equals(JsonPath.read(doc, "$.object2.array1[3]")));
301+
assertTrue("expected 4", Integer.valueOf(4).equals(JsonPath.read(doc, "$.object2.array1[4]")));
308302
}
309303

310304
}

0 commit comments

Comments
 (0)