diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/edu/brown/cs/student/term/parsing/Transaction.java | 16 | ||||
| -rw-r--r-- | src/test/java/edu/brown/cs/student/TransactionTest.java | 20 |
2 files changed, 34 insertions, 2 deletions
diff --git a/src/main/java/edu/brown/cs/student/term/parsing/Transaction.java b/src/main/java/edu/brown/cs/student/term/parsing/Transaction.java index 718d2a5..2111048 100644 --- a/src/main/java/edu/brown/cs/student/term/parsing/Transaction.java +++ b/src/main/java/edu/brown/cs/student/term/parsing/Transaction.java @@ -22,7 +22,7 @@ public class Transaction { private final String ticker; /** - * Constructor that extracts the important info from the document. + * Constructor that represents the transaction from the document. * @param document The document parsed from the xml file. */ public Transaction(Document document) { @@ -34,7 +34,19 @@ public class Transaction { id = id(); ticker = ticker(); - NodeList tradesAsNodes = document.getElementsByTagName("nonDerivativeTransaction"); + // There are two types of transactions within the xml - derivative and non derivative. + NodeList nonDerivative = document.getElementsByTagName("nonDerivativeTransaction"); + //NodeList derivative = document.getElementsByTagName("derivativeTransaction"); + // Processing both of their trades into the trades instance var. + processTransactions(nonDerivative); + //processTransactions(derivative); + } + + /** + * Takes a transaction as a node list, then processes and stores them into trades. + * @param tradesAsNodes The trades within the transaction as a nodelist. + */ + private void processTransactions(NodeList tradesAsNodes) { int numTrades = tradesAsNodes.getLength(); for(int i = 0; i < numTrades; i++) { NodeList tradeValues = getValueList(tradesAsNodes.item(i)); diff --git a/src/test/java/edu/brown/cs/student/TransactionTest.java b/src/test/java/edu/brown/cs/student/TransactionTest.java index 444263d..f9a00f7 100644 --- a/src/test/java/edu/brown/cs/student/TransactionTest.java +++ b/src/test/java/edu/brown/cs/student/TransactionTest.java @@ -67,6 +67,26 @@ public class TransactionTest { tearDown(); } + /* + @Test + public void derivativeTransaction(){ + setUp(); + Document doc = _xmlParser.parse("data/xml_derivative_only_test.xml"); + assertNotEquals(doc, null); + + // One trades in transaction + Transaction transaction = new Transaction(doc); + assertEquals(transaction.getTrades().size(), 1); + + // TODO: add more qualities on trade to test... + Trade firstTrade = transaction.getTrades().get(0); + assertEquals(firstTrade.getNumShares(), 8236); + assertEquals(firstTrade.getHolder().getId(), 1463126); + + tearDown(); + } + */ + @Test public void noTrades(){ setUp(); |
