aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/edu/brown/cs/student/TransactionTest.java
blob: f9a00f72f3a0b166a39e52203e613707a9dbc3e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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.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 static org.junit.Assert.*;

public class TransactionTest {
  private XmlParser _xmlParser;
  private Document _doc;

  @Before
  public void setUp() {
    _xmlParser = new LocalXmlParser();
  }

  @After
  public void tearDown() {
    _xmlParser = null;
  }

  @Test
  public void singleTrade(){
    setUp();
    Document doc = _xmlParser.parse("data/xml_single_trade_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);

    tearDown();
  }

  @Test
  public void multipleTrades(){
    setUp();
    Document doc = _xmlParser.parse("data/xml_multiple_trades_test.xml");
    assertNotEquals(doc, null);

    // Three trades in transaction
    Transaction transaction = new Transaction(doc);
    assertEquals(transaction.getTrades().size(), 3);

    Trade firstTrade = transaction.getTrades().get(0);
    assertEquals(firstTrade.getNumShares(), 3000);

    Trade secondTrade = transaction.getTrades().get(1);
    assertEquals(secondTrade.getNumShares(), 3000);

    Trade lastTrade = transaction.getTrades().get(2);
    assertEquals(lastTrade.getNumShares(), 2000);

    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();
    // TODO: add case, but won't realistically come up
    tearDown();
  }
}