diff options
| author | Michael Foiani <sotech117@michaels-mbp-3.lan> | 2021-04-05 14:36:31 -0400 |
|---|---|---|
| committer | Michael Foiani <sotech117@michaels-mbp-3.lan> | 2021-04-05 14:36:31 -0400 |
| commit | 12498969cb903c03ff45c191e88ce3adb6146623 (patch) | |
| tree | e08657086dbc342f8504fea215d9a93233964c93 /src/test/java/edu/brown/cs/student/TradeTest.java | |
| parent | afd767bf26c6853c36178e2fc0d091ba1b598fea (diff) | |
Moved around and added some tests and added an xml parser that uses urls instead of locally held files.
Diffstat (limited to 'src/test/java/edu/brown/cs/student/TradeTest.java')
| -rw-r--r-- | src/test/java/edu/brown/cs/student/TradeTest.java | 93 |
1 files changed, 92 insertions, 1 deletions
diff --git a/src/test/java/edu/brown/cs/student/TradeTest.java b/src/test/java/edu/brown/cs/student/TradeTest.java index fb9a2ea..90d656d 100644 --- a/src/test/java/edu/brown/cs/student/TradeTest.java +++ b/src/test/java/edu/brown/cs/student/TradeTest.java @@ -1,2 +1,93 @@ -package edu.brown.cs.student;public class TradeTest { +package edu.brown.cs.student; + +import edu.brown.cs.student.term.parsing.LocalXmlParser; +import edu.brown.cs.student.term.parsing.XmlParser; +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 static org.junit.Assert.*; + +public class TradeTest { + private XmlParser _xmlParser; + private Document _doc; + + @Before + public void setUp() { + _xmlParser = new LocalXmlParser(); + } + + @After + public void tearDown() { + _xmlParser = null; + } + + @Test + public void personDataParse(){ + setUp(); + Document doc = _xmlParser.parse("data/xml_trade_test.xml"); + assertNotNull(doc); + + // Id of person + NodeList idNode = doc.getElementsByTagName("rptOwnerCik"); + assertEquals(idNode.getLength(), 1); + String id = idNode.item(0).getTextContent(); + assertEquals(id, "0001561844"); + + // Name of person + NodeList nameNode = doc.getElementsByTagName("rptOwnerName"); + assertEquals(nameNode.getLength(), 1); + String name = nameNode.item(0).getTextContent(); + assertEquals(name, "Levental Igor"); + + tearDown(); + } + + @Test + public void tradeDataParse(){ + setUp(); + Document doc = _xmlParser.parse("data/xml_trade_test.xml"); + assertNotEquals(doc, null); + + // Data of trade in an array of values + NodeList trade = doc.getElementsByTagName("nonDerivativeTransaction"); + assertEquals(trade.item(0).getNodeType(), Node.ELEMENT_NODE); + Element tradeElement = (Element) trade.item(0); + NodeList values = tradeElement.getElementsByTagName("value"); + assertEquals(values.getLength(), 7); + + // type of stock + String stockType = values.item(0).getTextContent(); + assertEquals(stockType, "Common Stock"); + + // date + String date = values.item(1).getTextContent(); + assertEquals(date, "2021-03-31"); + + // # of shares + String numShares = values.item(2).getTextContent(); + assertEquals(numShares, "8236"); + + // price of shares + String priceShares = values.item(3).getTextContent(); + assertEquals(priceShares, "0"); + + // transaction type (A for acquire) + String transactionType = values.item(4).getTextContent(); + assertEquals(transactionType, "A"); + + // shared after transaction + String sharesAfter = values.item(5).getTextContent(); + assertEquals(sharesAfter, "10799"); + + // ownership type + String ownershipType = values.item(6).getTextContent(); + assertEquals(ownershipType, "D"); + + tearDown(); + } } |
