Package org.javaee7.json.object.reader

Source Code of org.javaee7.json.object.reader.JsonReaderFromReaderTest

package org.javaee7.json.object.reader;

import java.io.File;
import java.io.StringReader;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.json.JsonReader;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.json.JSONException;
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.runner.RunWith;
import org.skyscreamer.jsonassert.JSONAssert;
import org.skyscreamer.jsonassert.JSONCompareMode;

/**
* @author Arun Gupta
*/
@RunWith(Arquillian.class)
public class JsonReaderFromReaderTest {

    @Deployment
    public static Archive<?> deploy() {
        File[] requiredLibraries = Maven.resolver().loadPomFromFile("pom.xml")
                .resolve("org.json:json", "org.skyscreamer:jsonassert")
                .withTransitivity().asFile();

        return ShrinkWrap.create(WebArchive.class)
                .addAsLibraries(requiredLibraries);
    }

    @Test
    public void testEmptyObject() throws JSONException {
        JsonReader jsonReader = Json.createReader(new StringReader("{}"));
        JsonObject json = jsonReader.readObject();
       
        assertNotNull(json);
        assertTrue(json.isEmpty());
    }

    @Test
    public void testSimpleObjectWithTwoElements() throws JSONException {
        JsonReader jsonReader = Json.createReader(new StringReader("{"
                + "  \"apple\":\"red\","
                + "  \"banana\":\"yellow\""
                + "}"));
        JsonObject json = jsonReader.readObject();
       
        assertNotNull(json);
        assertFalse(json.isEmpty());
        assertTrue(json.containsKey("apple"));
        assertEquals("red", json.getString("apple"));
        assertTrue(json.containsKey("banana"));
        assertEquals("yellow", json.getString("banana"));
    }

    @Test
    public void testArray() throws JSONException {
        JsonReader jsonReader = Json.createReader(new StringReader("["
                + "  { \"apple\":\"red\" },"
                + "  { \"banana\":\"yellow\" }"
                + "]"));
        JsonArray jsonArr = jsonReader.readArray();
        assertNotNull(jsonArr);
        assertEquals(2, jsonArr.size());
       
        JSONAssert.assertEquals("{\"apple\":\"red\"}", jsonArr.get(0).toString(), JSONCompareMode.STRICT);
        JSONAssert.assertEquals("{\"banana\":\"yellow\"}", jsonArr.get(1).toString(), JSONCompareMode.STRICT);
    }

    @Test
    public void testNestedStructure() throws JSONException {
        JsonReader jsonReader = Json.createReader(new StringReader("{"
                + "  \"title\":\"The Matrix\","
                + "  \"year\":1999,"
                + "  \"cast\":["
                + "    \"Keanu Reaves\","
                + "    \"Laurence Fishburne\","
                + "    \"Carrie-Anne Moss\""
                + "  ]"
                + "}"));
        JsonObject json = jsonReader.readObject();

        assertNotNull(json);
        assertFalse(json.isEmpty());
        assertTrue(json.containsKey("title"));
        assertEquals("The Matrix", json.getString("title"));
        assertTrue(json.containsKey("year"));
        assertEquals(1999, json.getInt("year"));
        assertTrue(json.containsKey("cast"));
        JsonArray jsonArr = json.getJsonArray("cast");
        assertNotNull(jsonArr);
        assertEquals(3, jsonArr.size());
       
        JSONAssert.assertEquals("["
                + "    \"Keanu Reaves\","
                + "    \"Laurence Fishburne\","
                + "    \"Carrie-Anne Moss\""
                + "  ]", jsonArr.toString(), JSONCompareMode.STRICT);
    }
}
TOP

Related Classes of org.javaee7.json.object.reader.JsonReaderFromReaderTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.