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
97
98
99
100
101
102
103
104
105
106
107
|
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();
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 from example
tearDown();
}
@Test
public void bad0Trade(){
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(), 0);
tearDown();
}
@Test
public void badFormats(){
setUp();
// TODO: ensure 0 price trades aren't there, market trades aren't there, .00 on end of ints, etc...
// no price -> https://www.sec.gov/Archives/edgar/data/1654595/000110465921048974/tm2112683-1_4seq1.xml
// market form -> https://www.sec.gov/Archives/edgar/data/39899/000121465921004094/marketforms-52237.xml
tearDown();
}
}
|