feat: Optional при получении аттрибутов

This commit is contained in:
2024-02-28 17:33:12 +03:00
parent 2853382889
commit ff7f2b6df3
3 changed files with 33 additions and 14 deletions

View File

@@ -34,6 +34,7 @@ class XmlElementTest {
assertEquals("root", rootElement.getTagName());
}
@SuppressWarnings("OptionalGetWithoutIsPresent")
@Test
void testIterator() {
Iterator<XmlElement> iteratorElement = rootElement.iterator();
@@ -47,13 +48,22 @@ class XmlElementTest {
assertEquals(tagName, element.getTagName());
switch (element.getTagName()) {
case "node_str" -> assertEquals(attr, element.getAttribute("attr"));
case "node_int" -> assertEquals(attr, element.getAttributeAsInt("attr"));
case "node_bool" -> assertEquals(attr, element.getAttributeAsBool("attr"));
case "node_str" -> {
assertTrue(element.getAttribute("attr").isPresent());
assertEquals(attr, element.getAttribute("attr").get());
}
case "node_int" -> {
assertTrue(element.getAttribute("attr").isPresent());
assertEquals(attr, element.getAttributeAsInt("attr").getAsInt());
}
case "node_bool" -> {
assertTrue(element.getAttribute("attr").isPresent());
assertEquals(attr, element.getAttributeAsBool("attr").get());
}
case "empty" -> {
assertTrue(StringUtils.isEmpty(element.getValue()));
assertFalse(element.hasAttribute("attr"));
assertTrue(StringUtils.isEmpty(element.getAttribute("attr")));
assertTrue(element.getAttribute("attr").isEmpty());
}
default -> fail("Unknown tag '%s'".formatted(element.getTagName()));
}