assertEquals("other <value>", root.getAttributes().get(1).getValue());
}
public void test__2() {
Document document = new Document("root");
Node root = document.getRootNode();
root.addChildNode("node").setContents("value's öäÖÄ jes").addAttribute("a1", "v1");
root.addChildNode("other-node").addChildNode("sub-node").addAttribute("a2", "v2");
root.addChildNode("data").setCDATA("1234567890 &ent; & & // " ");
String xml = new XMLWriter(document).generateXML();
String expected = "" +
"<?xml version='1.0' encoding='utf-8'?>\n" +
"<root>\n" +
"\n" +
" <node a1=\"v1\">value's öäÖÄ jes</node>\n" +
"\n" +
" <other-node>\n" +
" <sub-node a2=\"v2\" />\n" +
" </other-node>\n" +
"\n" +
" <data>\n" +
"<![CDATA[1234567890 &ent; & & // " ]]>\n" +
" </data>\n" +
"\n" +
"</root>";
assertEquals(expected.trim(), xml.trim());
XMLReader reader = new XMLReader();
document = reader.parse(xml);
root = document.getRootNode();
assertEquals(true, root.hasChildNodes());
assertEquals(false, root.hasContents());
assertEquals(3, root.getChildNodes().size());
assertEquals(false, root.hasAttributes());
assertEquals(0, root.getAttributes().size());
Node node = root.getChildNodes().get(0);
assertEquals("node", node.getName());
assertEquals(1, node.getAttributes().size());
assertEquals(0, node.getChildNodes().size());
assertEquals("value's öäÖÄ jes", node.getContents());
Node otherNode = root.getChildNodes().get(1);
assertEquals("other-node", otherNode.getName());
assertEquals(false, otherNode.hasAttributes());
assertEquals(1, otherNode.getChildNodes().size());
assertEquals("sub-node", otherNode.getChildNodes().get(0).getName());
assertEquals("v2", otherNode.getChildNodes().get(0).getAttributes().get(0).getValue());
assertEquals("1234567890 &ent; & & // " ", root.getChildNodes().get(2).getContents());
}