package edu.brown.cs.student; import edu.brown.cs.student.term.parsing.LocalXmlParser; import edu.brown.cs.student.term.parsing.Transaction; import edu.brown.cs.student.term.parsing.TxtXmlParser; import edu.brown.cs.student.term.parsing.UrlXmlParser; import edu.brown.cs.student.term.parsing.XmlParser; import edu.brown.cs.student.term.trade.Trade; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import javax.print.Doc; import static org.junit.Assert.*; public class FilingTest { private XmlParser _xmlParser, _txtXmlParser; @Before public void setUp() { _xmlParser = new UrlXmlParser(); _txtXmlParser = new TxtXmlParser(); } @After public void tearDown() { _xmlParser = null; _txtXmlParser = null; } @Test public void seeWorks(){ setUp(); String url = "https://www.sec.gov/cgi-bin/browse-edgar?" + "action=getcurrent" + "&CIK=" + "&type=4" + "&company=" + "&dateb=" + "&owner=only" + "&start=0" + "&count=10" + "&output=atom"; Document doc = _xmlParser.parse(url); assertNotNull(doc); NodeList entries = doc.getElementsByTagName("entry"); assertNotEquals(entries.getLength(), 0); assertEquals(entries.item(0).getNodeType(), Node.ELEMENT_NODE); for (int i = 0; i < entries.getLength(); i++) { Element entry = (Element) entries.item(i); NodeList link = entry.getElementsByTagName("link"); assertEquals(link.getLength(), 1); String linkUrl = link.item(0).getAttributes().getNamedItem("href").getNodeValue(); System.out.println(linkUrl); NodeList updated = entry.getElementsByTagName("updated"); assertEquals(link.getLength(), 1); System.out.println(updated.item(0).getTextContent()); } tearDown(); } @Test public void xmlUrlFromFilingUrl(){ setUp(); String url = "https://www.sec.gov/Archives/edgar/data/1597341/000141588921001958/0001415889-21-001958.txt"; Document doc = _txtXmlParser.parse(url); assertNotNull(doc); tearDown(); } }