aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/edu/brown/cs/student/DBQuerierTest.java
diff options
context:
space:
mode:
authorclarkohw <66530369+clarkohw@users.noreply.github.com>2021-04-04 23:13:00 -0400
committerGitHub <noreply@github.com>2021-04-04 23:13:00 -0400
commitb8023de2b8d942e995b7a6419a7da814afe8a4a3 (patch)
tree5df6a11038ca35598d3c1aaecc921893952ac210 /src/test/java/edu/brown/cs/student/DBQuerierTest.java
parent32f6f0e6f9d9beb8476f00417f68276fa2247d4e (diff)
parentcb79a2b3c94ef0fbfc7c1f9208b6f3027d08b4f9 (diff)
Merge branch 'master' into profic-calc
Diffstat (limited to 'src/test/java/edu/brown/cs/student/DBQuerierTest.java')
-rw-r--r--src/test/java/edu/brown/cs/student/DBQuerierTest.java122
1 files changed, 122 insertions, 0 deletions
diff --git a/src/test/java/edu/brown/cs/student/DBQuerierTest.java b/src/test/java/edu/brown/cs/student/DBQuerierTest.java
new file mode 100644
index 0000000..d813969
--- /dev/null
+++ b/src/test/java/edu/brown/cs/student/DBQuerierTest.java
@@ -0,0 +1,122 @@
+package edu.brown.cs.student;
+
+import java.io.PrintStream;
+import java.sql.SQLException;
+import java.time.Instant;
+import java.util.ArrayList;
+import java.util.List;
+
+import edu.brown.cs.student.term.DatabaseQuerier;
+import edu.brown.cs.student.term.repl.commands.SetupCommand;
+import edu.brown.cs.student.term.trade.Trade;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+//TODO: Write more tests for methods besides stock by name
+public class DBQuerierTest {
+
+ /** these should span the entire mock dataset */
+ //12 am on 3/11 in UTC
+ private Instant start = Instant.parse("2021-03-11T05:00:00.00Z");
+ //12 am on 3/28 in UTC
+ private Instant end = Instant.parse("2021-03-28T05:00:00.00Z");
+
+ private DatabaseQuerier db;
+
+ @Before
+ public void setUp() {
+ try{
+ db = new DatabaseQuerier("data/mock_trades.sqlite3");
+ } catch(Exception e){
+ System.out.println("DBQuerier Test, couldn't connect to db???");
+ }
+ }
+
+ /*
+ * try{
+
+ } catch(Exception e) {
+ System.out.println("Error in test");
+ }*/
+
+ @After
+ public void tearDown() {
+ db = null;
+ }
+
+ @Test
+ public void testNonExistentStock(){
+ setUp();
+ try{
+ List<Trade> fakeStockList = db.getTradeByStock("NONO", 1, start, end);
+ assertTrue(fakeStockList.isEmpty());
+
+ } catch(Exception e) {
+ System.out.println("Error in test");
+ }
+ tearDown();
+ }
+
+ @Test
+ public void testFlippedDates(){
+ setUp();
+ try{
+ List<Trade> gmeBadDatesList = db.getTradeByStock("GME", 1, end, start);
+ assertTrue(gmeBadDatesList.isEmpty());
+
+ } catch(Exception e) {
+ System.out.println("Error in test");
+ }
+ tearDown();
+ }
+
+ @Test
+ public void testTradeByStockNameBuy(){
+ setUp();
+ try{
+ List<Trade> gmeBuyList = db.getTradeByStock("GME", 1, start, end);
+ System.out.println(gmeBuyList);
+ assertEquals(gmeBuyList.size(), 6);
+ assertEquals(gmeBuyList.get(0).getId(), 482);
+ assertEquals(gmeBuyList.get(3).getId(), 149);
+ assertEquals(gmeBuyList.get(4).getId(), 275);
+ assertEquals(gmeBuyList.get(5).getId(), 30);
+
+
+ List<Trade> teslaBuyList = db.getTradeByStock("TSLA", 1, start, end);
+ assertEquals(teslaBuyList.size(), 16);
+ assertEquals(teslaBuyList.get(0).getId(), 328);
+ assertEquals(teslaBuyList.get(7).getId(), 241);
+ assertEquals(teslaBuyList.get(15).getId(), 774);
+
+ } catch(Exception e) {
+ System.out.println("Error in testTradeByStockName");
+ }
+
+ tearDown();
+ }
+
+ @Test
+ public void testTradeByNameOrdering(){
+ setUp();
+
+ try{
+ List<Trade> gmeSellList = db.getTradeByStock("GME", 0, start, end);
+ for(int i = 1; i < gmeSellList.size(); i++){
+ assertTrue(gmeSellList.get(i-1).getTimestamp() < gmeSellList.get(i).getTimestamp());
+ }
+
+ List<Trade> amznBuyList = db.getTradeByStock("AMZN", 1, start, end);
+ for(int i = 1; i < amznBuyList.size(); i++){
+ assertTrue(amznBuyList.get(i-1).getTimestamp() < amznBuyList.get(i).getTimestamp());
+ }
+
+ } catch(Exception e) {
+ System.out.println("Error in test");
+ }
+ tearDown();
+ }
+}