package org.json.simple.parser; import junit.framework.TestCase; import org.json.simple.parser.JSONStreamReader.Event; import java.io.StringReader; /** * @author karl.wettin@kodapan.se * @since 2012-07-05 11:41 */ public class TestJSONStreamReader extends TestCase { public void test() throws Exception { JSONStreamReader jsr = new JSONStreamReader(new StringReader("{\"a\" :[\"b\",\"c\",\"d\"],\"e\":[[1,true,2.3456],[3,4,false],[5,6,{\"d\":false}]]}")); Event event; // while ((event = jsr.next()) != null) { // // System.out.println("event = jsr.next();"); // System.out.println("assertEquals(\""+event.name()+"\", event.name());"); // if (jsr.getObjectValue() == null) { // System.out.println("assertNull(jsr.getObjectValue());"); // } else { // System.out.println("assertEquals(new "+jsr.getObjectValue().getClass().getSimpleName()+"("+jsr.getObjectValue()+"), jsr.getObjectValue());"); // } // // } event = jsr.next(); assertEquals("START_DOCUMENT", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_OBJECT", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_KEY", event.name()); assertEquals("a", jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals("b", jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals("c", jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals("d", jsr.getObjectValue()); event = jsr.next(); assertEquals("END_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_KEY", event.name()); assertEquals("e", jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(1l, jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(true, jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(2.3456d, jsr.getObjectValue()); event = jsr.next(); assertEquals("END_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(3l, jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(4l, jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(false, jsr.getObjectValue()); event = jsr.next(); assertEquals("END_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(5l, jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(6l, jsr.getObjectValue()); event = jsr.next(); assertEquals("NEXT_VALUE", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_OBJECT", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_KEY", event.name()); assertEquals("d", jsr.getObjectValue()); event = jsr.next(); assertEquals("START_ELEMENT_VALUE", event.name()); assertEquals(false, jsr.getObjectValue()); event = jsr.next(); assertEquals("END_OBJECT", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("END_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("END_ARRAY", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("END_OBJECT", event.name()); assertNull(jsr.getObjectValue()); event = jsr.next(); assertEquals("END_DOCUMENT", event.name()); assertNull(jsr.getObjectValue()); assertNull(jsr.next()); } }