@Test(expected = IllegalArgumentException.class) public void cannotRemoveANullChildElement() { SpinXmlElement child = XML("<child/>"); element.append(child); element.remove(child, null); }
@Test(expected = SpinXmlElementException.class) public void cannotRemoveNonChildElement() { SpinXmlElement child1 = XML("<child/>"); SpinXmlElement child2 = XML("<child/>"); element.append(child1); element.remove(child1, child2); }
@Test public void canAppendChildElementWithNamespace() { SpinXmlElement child = XML("<child xmlns=\"" + EXAMPLE_NAMESPACE + "\"/>"); element = element.append(child); child.attr("id", "child"); child = element.childElement(EXAMPLE_NAMESPACE, "child"); assertThat(child).isNotNull(); assertThat(child.attr("id").value()).isEqualTo("child"); }
@Test public void canAppendChildElement() { SpinXmlElement child = XML("<child/>"); element = element.append(child); child.attr("id", "child"); child = element.childElement(null, "child"); assertThat(child).isNotNull(); assertThat(child.attr("id").value()).isEqualTo("child"); }
@Test public void canAppendChildElementCollection() { Collection<SpinXmlElement> childElements = new ArrayList<SpinXmlElement>(); childElements.add(XML("<child/>")); childElements.add(XML("<child/>")); childElements.add(XML("<child/>")); element = element.append(childElements); SpinList<SpinXmlElement> childs = element.childElements(null, "child"); assertThat(childs).hasSize(3); }
@Test public void canRemoveAChildElement() { SpinXmlElement child = XML("<child/>"); element.append(child); assertThat(element.childElement(null, "child")).isNotNull(); element.remove(child); try { assertThat(element.childElement(null, "child")); fail("Child element should be removed"); } catch (Exception e) { assertThat(e).isInstanceOf(SpinXmlElementException.class); } }
@Test public void canRemoveChildElementCollection() { SpinXmlElement child1 = XML("<child/>"); SpinXmlElement child2 = XML("<child/>"); SpinXmlElement child3 = XML("<child/>"); element.append(child1, child2, child3); assertThat(element.childElements(null, "child")).hasSize(3); element.remove(element.childElements(null, "child")); try { assertThat(element.childElements(null, "child")); fail("Child element should be removed"); } catch (Exception e) { assertThat(e).isInstanceOf(SpinXmlElementException.class); } }
@Test public void canAppendMultipleChildElements() { SpinXmlElement child1 = XML("<child/>"); SpinXmlElement child2 = XML("<child/>"); SpinXmlElement child3 = XML("<child/>"); element = element.append(child1, child2, child3); child1.attr("id", "child"); child2.attr("id", "child"); child3.attr("id", "child"); SpinList<SpinXmlElement> childs = element.childElements(null, "child"); assertThat(childs).hasSize(3); for (SpinXmlElement childElement : childs) { assertThat(childElement).isNotNull(); assertThat(childElement.attr("id").value()).isEqualTo("child"); } }
@Test(expected = IllegalArgumentException.class) public void cannotAppendNullChildElements() { element.append((SpinXmlElement[]) null); }