aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/edu/brown/cs/student/term/parsing/Transaction.java16
-rw-r--r--src/test/java/edu/brown/cs/student/TransactionTest.java20
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();