Package com.gistlabs.mechanize.document.json.node.impl

Source Code of com.gistlabs.mechanize.document.json.node.impl.MixedChildrenElementsTest

/**
* Copyright (C) 2012-2014 Gist Labs, LLC. (http://gistlabs.com)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.gistlabs.mechanize.document.json.node.impl;

import static org.junit.Assert.*;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.junit.Test;

import com.gistlabs.mechanize.document.json.node.JsonNode;
import com.gistlabs.mechanize.document.json.node.impl.ObjectNodeImpl;

public class MixedChildrenElementsTest extends TestElementBaseClass {
  ObjectNodeImpl element = new ObjectNodeImpl(parseJson("{ \"a\" : 2, \"b\" : { \"a\" : \"x\", \"c\" : 4 }, \"c\" : [ { \"a\" : 1 }, { \"b\" : 2 } ] }"));

  @Test
  public void testPrimitiveChild() {
    JsonNode nested = element.getChild("a");
    assertNotNull(nested);

    Collection<String> attributes = element.getAttributeNames();
    assertEquals(1, attributes.size());
    assertTrue(attributes.contains("a"));
  }

  @Test
  public void testElementChild() {
    JsonNode nested = element.getChild("b");
    assertNotNull(nested);
    assertTrue(nested instanceof ObjectNodeImpl);
    assertEquals("b", nested.getName());
    assertEquals(element, nested.getParent());
    assertEquals("x", nested.getAttribute("a"));
  }

  @Test
  public void testChildren() {
    List<JsonNode> children = element.getChildren();
    assertEquals(4, children.size());

    Collection<String> names = new ArrayList<String>();
    names.add("b");
    names.add("c");

    assertTrue(names.contains(children.get(0).getName()));
    assertTrue(names.contains(children.get(1).getName()));
    assertTrue(names.contains(children.get(2).getName()));
  }

}
TOP

Related Classes of com.gistlabs.mechanize.document.json.node.impl.MixedChildrenElementsTest

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.