diff --git a/xml/src/test/java/com/baeldung/sax/SaxParserMainTest.java b/xml/src/test/java/com/baeldung/sax/SaxParserMainTest.java new file mode 100644 index 0000000000..af31bc3bd2 --- /dev/null +++ b/xml/src/test/java/com/baeldung/sax/SaxParserMainTest.java @@ -0,0 +1,44 @@ +package com.baeldung.sax; + +import org.junit.Test; +import org.xml.sax.SAXException; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; +import java.io.IOException; +import java.util.List; + +import static org.junit.Assert.*; + +public class SaxParserMainTest { + + @Test + void parse_baeldung_xml_document() throws IOException, SAXException, ParserConfigurationException { + SAXParserFactory factory = SAXParserFactory.newInstance(); + SAXParser saxParser = factory.newSAXParser(); + + SaxParserMain.BaeldungHandler baeldungHandler = new SaxParserMain.BaeldungHandler(); + saxParser.parse("xml\\src\\test\\resources\\sax\\baeldung.xml", baeldungHandler); + + SaxParserMain.Baeldung result = baeldungHandler.getWebsite(); + + assertNotNull(result); + List articles = result.getArticleList(); + + assertNotNull(articles); + assertEquals(3, articles.size()); + + SaxParserMain.BaeldungArticle articleOne = articles.get(0); + assertEquals("Parsing an XML File Using SAX Parser", articleOne.getTitle()); + assertEquals("Lorem ipsum...", articleOne.getContent()); + + SaxParserMain.BaeldungArticle articleTwo = articles.get(1); + assertEquals("Parsing an XML File Using DOM Parser", articleTwo.getTitle()); + assertEquals("Lorem ipsum...", articleTwo.getContent()); + + SaxParserMain.BaeldungArticle articleThree = articles.get(2); + assertEquals("Parsing an XML File Using StAX Parser", articleThree.getTitle()); + assertEquals("Lorem ipsum...", articleThree.getContent()); + } +} diff --git a/xml/src/test/resources/sax/baeldung.xml b/xml/src/test/resources/sax/baeldung.xml new file mode 100644 index 0000000000..4b839f35c7 --- /dev/null +++ b/xml/src/test/resources/sax/baeldung.xml @@ -0,0 +1,16 @@ + + +
+ Parsing an XML File Using SAX Parser + Lorem ipsum... +
+
+ Parsing an XML File Using DOM Parser + Lorem ipsum... +
+
+ Parsing an XML File Using StAX Parser + Lorem ipsum... +
+
+
\ No newline at end of file