}
}
public void testInnerElementGetters() {
XMLElement xmlElement = new XMLElementBuilder("message", "jabber:test").
addText("t1").
startInnerElement("i1").
endInnerElement().
startInnerElement("i2").
addAttribute("order", "1").
endInnerElement().
startInnerElement("i2").
addAttribute("order", "2").
endInnerElement().
addText("t2").
addText("t3").
startInnerElement("i3").
endInnerElement().
addText("t4").
build();
List<XMLElement> list = xmlElement.getInnerElements();
assertEquals(4, list.size());
assertEquals("i1", xmlElement.getFirstInnerElement().getName());
try {
xmlElement.getSingleInnerElementsNamed("i2");
fail("must raise exception");
} catch (XMLSemanticError xmlSemanticError) {
// test succeeded
}
try {
XMLElement xmlElement1 = xmlElement.getSingleInnerElementsNamed("i3");
assertEquals("i3", xmlElement1.getName());
} catch (XMLSemanticError xmlSemanticError) {
fail("must not raise exception");
}
xmlElement = new XMLElementBuilder("message", "jabber:test").
addText("t1").
build();
try {
assertNull(xmlElement.getSingleInnerElementsNamed("none"));
} catch (XMLSemanticError xmlSemanticError) {
fail("must not raise error");
}
xmlElement = new XMLElementBuilder("message", "jabber:test").
startInnerElement("i").
addAttribute("order", "1").
endInnerElement().
startInnerElement("another").
endInnerElement().
build();
try {
XMLElement singleXmlElement = xmlElement.getSingleInnerElementsNamed("i");
assertEquals("i", singleXmlElement.getName());
} catch (XMLSemanticError xmlSemanticError) {
fail("must not raise error");
}
xmlElement = new XMLElementBuilder("message", "jabber:test").
startInnerElement("i").
addAttribute("order", "1").
endInnerElement().
startInnerElement("i").
addAttribute("order", "2").