11package org .json .junit ;
22
3- import static org .junit .Assert .assertNull ;
4- import static org .junit .Assert .assertTrue ;
3+ import static org .junit .Assert .*;
54
65import java .math .BigDecimal ;
76import java .math .BigInteger ;
109import java .util .Collections ;
1110import java .util .HashMap ;
1211import java .util .Iterator ;
13- import java .util .List ;
1412import java .util .Map ;
1513
1614import org .json .JSONArray ;
1917import org .json .JSONPointerException ;
2018import org .junit .Test ;
2119
22- import com .jayway .jsonpath .Configuration ;
23- import com .jayway .jsonpath .JsonPath ;
20+ // import com.jayway.jsonpath.Configuration;
21+ // import com.jayway.jsonpath.JsonPath;
2422
2523
2624/**
2725 * Tests for JSON-Java JSONArray.java
2826 */
2927public class JSONArrayTest {
30- String arrayStr =
28+ static final String arrayStr =
3129 "[" +
3230 "true," +
3331 "false," +
@@ -322,11 +320,8 @@ public void join() {
322320 String joinStr = jsonArray .join ("," );
323321
324322 // validate JSON
325- /**
326- * Don't need to remake the JSONArray to perform the parsing
327- */
328- Object doc = Configuration .defaultConfiguration ().jsonProvider ().parse ("[" +joinStr +"]" );
329- assertTrue ("expected 13 items in top level object" , ((List <?>)(JsonPath .read (doc , "$" ))).size () == 13 );
323+ jsonArray = new JSONArray ("[" +joinStr +"]" );
324+ assertEquals ("expected 13 items in top level object" , 13 , jsonArray .toList ().size ());
330325 assertTrue ("expected true" , Boolean .TRUE .equals (jsonArray .query ("/0" )));
331326 assertTrue ("expected false" , Boolean .FALSE .equals (jsonArray .query ("/1" )));
332327 assertTrue ("expected \" true\" " , "true" .equals (jsonArray .query ("/2" )));
@@ -336,9 +331,11 @@ public void join() {
336331 assertTrue ("expected \" 23.45\" " , "23.45" .equals (jsonArray .query ("/6" )));
337332 assertTrue ("expected 42" , Integer .valueOf (42 ).equals (jsonArray .query ("/7" )));
338333 assertTrue ("expected \" 43\" " , "43" .equals (jsonArray .query ("/8" )));
339- assertTrue ("expected 1 item in [9]" , ((List <?>)(JsonPath .read (doc , "$[9]" ))).size () == 1 );
334+ // assertTrue("expected 1 item in [9]", ((List<?>)(JsonPath.read(doc, "$[9]"))).size() == 1);
335+ assertEquals ("expected 1 item in [9]" , 1 , ((JSONArray )(jsonArray .query ("/9" ))).toList ().size ());
340336 assertTrue ("expected world" , "world" .equals (jsonArray .query ("/9/0" )));
341- assertTrue ("expected 4 items in [10]" , ((Map <?,?>)(JsonPath .read (doc , "$[10]" ))).size () == 4 );
337+ // assertTrue("expected 4 items in [10]", ((Map<?,?>)(JsonPath.read(doc, "$[10]"))).size() == 4);
338+ assertEquals ("expected 4 items in [10]" , 4 , ((JSONObject )(jsonArray .query ("/10" ))).toMap ().size ());
342339 assertTrue ("expected value1" , "value1" .equals (jsonArray .query ("/10/key1" )));
343340 assertTrue ("expected value2" , "value2" .equals (jsonArray .query ("/10/key2" )));
344341 assertTrue ("expected value3" , "value3" .equals (jsonArray .query ("/10/key3" )));
@@ -358,6 +355,8 @@ public void length() {
358355 assertTrue ("expected JSONArray length 13" , jsonArray .length () == 13 );
359356 JSONArray nestedJsonArray = jsonArray .getJSONArray (9 );
360357 assertTrue ("expected JSONArray length 1" , nestedJsonArray .length () == 1 );
358+
359+ System .out .println (jsonArray .toString (2 ));
361360 }
362361
363362 /**
@@ -484,24 +483,29 @@ public void put() {
484483 jsonArray .put (collection );
485484
486485 // validate JSON
487- Object doc = Configuration .defaultConfiguration ().jsonProvider ().parse (jsonArray .toString ());
488- assertTrue ("expected 10 top level items" , ((List <?>)(JsonPath .read (doc , "$" ))).size () == 10 );
486+ // Object doc = Configuration.defaultConfiguration().jsonProvider().parse(jsonArray.toString());
487+ // assertTrue("expected 10 top level items", ((List<?>)(JsonPath.read(doc, "$"))).size() == 10);
488+ assertEquals ("expected 10 top level items" , 10 , jsonArray .toList ().size ());
489489 assertTrue ("expected true" , Boolean .TRUE .equals (jsonArray .query ("/0" )));
490490 assertTrue ("expected false" , Boolean .FALSE .equals (jsonArray .query ("/1" )));
491- assertTrue ("expected 2 items in [2]" , ((List <?>)(JsonPath .read (doc , "$[2]" ))).size () == 2 );
491+ // assertTrue("expected 2 items in [2]", ((List<?>)(JsonPath.read(doc, "$[2]"))).size() == 2);
492+ assertEquals ("expected 2 items in [2]" , 2 , ((JSONArray )(jsonArray .query ("/2" ))).toList ().size ());
492493 assertTrue ("expected hello" , "hello" .equals (jsonArray .query ("/2/0" )));
493494 assertTrue ("expected world" , "world" .equals (jsonArray .query ("/2/1" )));
494495 assertTrue ("expected 2.5" , Double .valueOf (2.5 ).equals (jsonArray .query ("/3" )));
495496 assertTrue ("expected 1" , Integer .valueOf (1 ).equals (jsonArray .query ("/4" )));
496497 assertTrue ("expected 45" , Long .valueOf (45 ).equals (jsonArray .query ("/5" )));
497498 assertTrue ("expected objectPut" , "objectPut" .equals (jsonArray .query ("/6" )));
498- assertTrue ("expected 3 items in [7]" , ((Map <?,?>)(JsonPath .read (doc , "$[7]" ))).size () == 3 );
499+ // assertTrue("expected 3 items in [7]", ((Map<?,?>)(JsonPath.read(doc, "$[7]"))).size() == 3);
500+ assertEquals ("expected 3 items in [7]" , 3 , ((JSONObject )(jsonArray .query ("/7" ))).toMap ().size ());
499501 assertTrue ("expected val10" , "val10" .equals (jsonArray .query ("/7/key10" )));
500502 assertTrue ("expected val20" , "val20" .equals (jsonArray .query ("/7/key20" )));
501503 assertTrue ("expected val30" , "val30" .equals (jsonArray .query ("/7/key30" )));
502- assertTrue ("expected 1 item in [8]" , ((Map <?,?>)(JsonPath .read (doc , "$[8]" ))).size () == 1 );
504+ // assertTrue("expected 1 item in [8]", ((Map<?,?>)(JsonPath.read(doc, "$[8]"))).size() == 1);
505+ assertEquals ("expected 1 item in [8]" , 1 , ((JSONObject )(jsonArray .query ("/8" ))).toMap ().size ());
503506 assertTrue ("expected v1" , "v1" .equals (jsonArray .query ("/8/k1" )));
504- assertTrue ("expected 2 items in [9]" , ((List <?>)(JsonPath .read (doc , "$[9]" ))).size () == 2 );
507+ // assertTrue("expected 2 items in [9]", ((List<?>)(JsonPath.read(doc, "$[9]"))).size() == 2);
508+ assertEquals ("expected 2 items in [9]" , 2 , ((JSONArray )(jsonArray .query ("/9" ))).toList ().size ());
505509 assertTrue ("expected 1" , Integer .valueOf (1 ).equals (jsonArray .query ("/9/0" )));
506510 assertTrue ("expected 2" , Integer .valueOf (2 ).equals (jsonArray .query ("/9/1" )));
507511 }
@@ -561,26 +565,30 @@ public void putIndex() {
561565 } catch (Exception ignored ) {}
562566
563567 // validate JSON
564- Object doc = Configuration .defaultConfiguration ().jsonProvider ().parse (jsonArray .toString ());
565- assertTrue ("expected 11 top level items" , (( List <?>)( JsonPath . read ( doc , "$" ))) .size () == 11 );
568+ // Object doc = Configuration.defaultConfiguration().jsonProvider().parse(jsonArray.toString());
569+ assertEquals ("expected 11 top level items" , 11 , jsonArray . toList () .size ());
566570 assertTrue ("expected true" , Boolean .TRUE .equals (jsonArray .query ("/0" )));
567571 assertTrue ("expected false" , Boolean .FALSE .equals (jsonArray .query ("/1" )));
568- assertTrue ("expected 2 items in [2]" , ((List <?>)(JsonPath .read (doc , "$[2]" ))).size () == 2 );
572+ // assertTrue("expected 2 items in [2]", ((List<?>)(JsonPath.read(doc, "$[2]"))).size() == 2);
573+ assertEquals ("expected 2 items in [2]" , 2 , ((JSONArray )(jsonArray .query ("/2" ))).toList ().size ());
569574 assertTrue ("expected hello" , "hello" .equals (jsonArray .query ("/2/0" )));
570575 assertTrue ("expected world" , "world" .equals (jsonArray .query ("/2/1" )));
571576 assertTrue ("expected 2.5" , Double .valueOf (2.5 ).equals (jsonArray .query ("/3" )));
572577 assertTrue ("expected 1" , Integer .valueOf (1 ).equals (jsonArray .query ("/4" )));
573578 assertTrue ("expected 45" , Long .valueOf (45 ).equals (jsonArray .query ("/5" )));
574579 assertTrue ("expected objectPut" , "objectPut" .equals (jsonArray .query ("/6" )));
575580 assertTrue ("expected null" , JSONObject .NULL .equals (jsonArray .query ("/7" )));
576- assertTrue ("expected 3 items in [8]" , ((Map <?,?>)(JsonPath .read (doc , "$[8]" ))).size () == 3 );
581+ // assertTrue("expected 3 items in [8]", ((Map<?,?>)(JsonPath.read(doc, "$[8]"))).size() == 3);
582+ assertEquals ("expected 3 items in [8]" , 3 , ((JSONObject )(jsonArray .query ("/8" ))).toMap ().size ());
577583 assertTrue ("expected val10" , "val10" .equals (jsonArray .query ("/8/key10" )));
578584 assertTrue ("expected val20" , "val20" .equals (jsonArray .query ("/8/key20" )));
579585 assertTrue ("expected val30" , "val30" .equals (jsonArray .query ("/8/key30" )));
580- assertTrue ("expected 2 items in [9]" , ((List <?>)(JsonPath .read (doc , "$[9]" ))).size () == 2 );
586+ // assertTrue("expected 2 items in [9]", ((List<?>)(JsonPath.read(doc, "$[9]"))).size() == 2);
587+ assertEquals ("expected 2 items in [9]" , 2 , ((JSONArray )(jsonArray .query ("/9" ))).toList ().size ());
581588 assertTrue ("expected 1" , Integer .valueOf (1 ).equals (jsonArray .query ("/9/0" )));
582589 assertTrue ("expected 2" , Integer .valueOf (2 ).equals (jsonArray .query ("/9/1" )));
583- assertTrue ("expected 1 item in [10]" , ((Map <?,?>)(JsonPath .read (doc , "$[10]" ))).size () == 1 );
590+ // assertTrue("expected 1 item in [10]", ((Map<?,?>)(JsonPath.read(doc, "$[10]"))).size() == 1);
591+ assertEquals ("expected 1 item in [10]" , 1 , ((JSONObject )(jsonArray .query ("/10" ))).toMap ().size ());
584592 assertTrue ("expected v1" , "v1" .equals (jsonArray .query ("/10/k1" )));
585593 }
586594
@@ -660,8 +668,9 @@ public void objectArrayVsIsArray() {
660668 JSONArray jsonArray = new JSONArray (myObject );
661669
662670 // validate JSON
663- Object doc = Configuration .defaultConfiguration ().jsonProvider ().parse (jsonArray .toString ());
664- assertTrue ("expected 7 top level items" , ((List <?>)(JsonPath .read (doc , "$" ))).size () == 7 );
671+ // Object doc = Configuration.defaultConfiguration().jsonProvider().parse(jsonArray.toString());
672+ // assertTrue("expected 7 top level items", ((List<?>)(JsonPath.read(doc, "$"))).size() == 7);
673+ assertTrue ("expected 7 top level items" , jsonArray .toList ().size () == 7 );
665674 assertTrue ("expected 1" , Integer .valueOf (1 ).equals (jsonArray .query ("/0" )));
666675 assertTrue ("expected 2" , Integer .valueOf (2 ).equals (jsonArray .query ("/1" )));
667676 assertTrue ("expected 3" , Integer .valueOf (3 ).equals (jsonArray .query ("/2" )));
0 commit comments