aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/edu/brown/cs/student/DBQuerierTest.java
diff options
context:
space:
mode:
authorMichael Foiani <sotech117@michaels-mbp-3.lan>2021-04-16 11:28:17 -0400
committerMichael Foiani <sotech117@michaels-mbp-3.lan>2021-04-16 11:28:17 -0400
commit250f5edc1ed502c74c398b5850a0bb7a7b01848c (patch)
tree56e41c692f5d1380eda69bc931e0d01feda0721b /src/test/java/edu/brown/cs/student/DBQuerierTest.java
parent939f748b5f0914fe1558d571fdf13962c46b4537 (diff)
parentb75b23ff59a71c9a54be43525189b678124ae3a3 (diff)
Big merge to supress the printstram and update the frontend server.
Diffstat (limited to 'src/test/java/edu/brown/cs/student/DBQuerierTest.java')
-rw-r--r--src/test/java/edu/brown/cs/student/DBQuerierTest.java167
1 files changed, 137 insertions, 30 deletions
diff --git a/src/test/java/edu/brown/cs/student/DBQuerierTest.java b/src/test/java/edu/brown/cs/student/DBQuerierTest.java
index d813969..b3ea140 100644
--- a/src/test/java/edu/brown/cs/student/DBQuerierTest.java
+++ b/src/test/java/edu/brown/cs/student/DBQuerierTest.java
@@ -1,21 +1,18 @@
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;
+import static org.junit.Assert.assertFalse;
-//TODO: Write more tests for methods besides stock by name
public class DBQuerierTest {
/** these should span the entire mock dataset */
@@ -35,12 +32,6 @@ public class DBQuerierTest {
}
}
- /*
- * try{
-
- } catch(Exception e) {
- System.out.println("Error in test");
- }*/
@After
public void tearDown() {
@@ -50,34 +41,114 @@ public class DBQuerierTest {
@Test
public void testNonExistentStock(){
setUp();
+ List<Trade> fakeStockList = new ArrayList<>();
+ try{
+ fakeStockList = db.getTradeByStock("NONO", 1, start, end);
+ } catch(Exception e) {
+ System.out.println("Error in test");
+ }
+ assertTrue(fakeStockList.isEmpty());
+ tearDown();
+ }
+
+ @Test
+ public void testEmptyDatabase(){
try{
- List<Trade> fakeStockList = db.getTradeByStock("NONO", 1, start, end);
- assertTrue(fakeStockList.isEmpty());
+ db = new DatabaseQuerier("data/empty.sqlite3");
+ } catch(Exception e){
+ System.out.println("DBQuerier Test, couldn't connect to db???");
+ }
+
+ List<Trade> gmeBadDatesList = new ArrayList<>();
+ List<String> noStocks = new ArrayList<>();
+ List<List<Trade>> noTrades = new ArrayList<>();
+ try {
+ gmeBadDatesList = db.getTradeByStock("GME", 1, start, end);
+ noStocks = db.getRecentStocks(start, end);
+ noTrades = db.getAllTradesByStock(start, end);
+ } catch (Exception e){
+ System.out.println("ERROR: in test");
+ }
+ assertTrue(gmeBadDatesList.isEmpty());
+ assertTrue(noStocks.isEmpty());
+ assertTrue(noTrades.isEmpty());
+ tearDown();
+ }
+
+ @Test
+ public void testEmptyStringStock(){
+ setUp();
+ List<Trade> fakeStockList = new ArrayList<>();
+ try{
+ fakeStockList = db.getTradeByStock("", 1, start, end);
} catch(Exception e) {
System.out.println("Error in test");
}
+ assertTrue(fakeStockList.isEmpty());
tearDown();
}
@Test
- public void testFlippedDates(){
+ public void testNeitherIsBuyOrSell(){
setUp();
+ List<Trade> fakeStockList = new ArrayList<>();
try{
- List<Trade> gmeBadDatesList = db.getTradeByStock("GME", 1, end, start);
- assertTrue(gmeBadDatesList.isEmpty());
+ fakeStockList = db.getTradeByStock("GME", 3, start, end);
+ } catch(Exception e) {
+ System.out.println("Error in test");
+ }
+ assertTrue(fakeStockList.isEmpty());
+ tearDown();
+ }
+ @Test
+ public void testIsSell(){
+ setUp();
+ List<Trade> sellGMEList = new ArrayList<>();
+ try{
+ sellGMEList = db.getTradeByStock("GME", 0, start, end);
} catch(Exception e) {
System.out.println("Error in test");
}
+ assertEquals(7, sellGMEList.size());
+ for(Trade t: sellGMEList){
+ assertFalse(t.isBuy());
+ }
+ tearDown();
+ }
+
+
+ @Test
+ public void testFlippedDates(){
+ setUp();
+ List<Trade> gmeBadDatesList = new ArrayList<>();
+ List<String> noStocks = new ArrayList<>();
+ List<List<Trade>> noTrades = new ArrayList<>();
+ try{
+ gmeBadDatesList = db.getTradeByStock("GME", 1, end, start);
+ noStocks = db.getRecentStocks(end, start);
+ noTrades = db.getAllTradesByStock(end, start);
+ } catch(Exception e) {
+ System.out.println("Error in test");
+ }
+ assertTrue(gmeBadDatesList.isEmpty());
+ assertTrue(noStocks.isEmpty());
+ assertTrue(noTrades.isEmpty());
tearDown();
}
@Test
public void testTradeByStockNameBuy(){
setUp();
+ List<Trade> gmeBuyList = new ArrayList<>();
+ List<Trade> teslaBuyList = new ArrayList<>();
try{
- List<Trade> gmeBuyList = db.getTradeByStock("GME", 1, start, end);
+ gmeBuyList = db.getTradeByStock("GME", 1, start, end);
+ teslaBuyList = db.getTradeByStock("TSLA", 1, start, end);
+ } catch(Exception e) {
+ System.out.println("Error in testTradeByStockName");
+ }
System.out.println(gmeBuyList);
assertEquals(gmeBuyList.size(), 6);
assertEquals(gmeBuyList.get(0).getId(), 482);
@@ -85,16 +156,12 @@ public class DBQuerierTest {
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();
}
@@ -103,20 +170,60 @@ public class DBQuerierTest {
public void testTradeByNameOrdering(){
setUp();
+ List<Trade> gmeSellList = new ArrayList<>();
+ List<Trade> amznBuyList = new ArrayList<>();
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());
- }
+ gmeSellList = db.getTradeByStock("GME", 0, start, end);
+ amznBuyList = db.getTradeByStock("AMZN", 1, start, end);
+ } catch(Exception e) {
+ System.out.println("Error in test");
+ }
- 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());
- }
+ for(int i = 1; i < gmeSellList.size(); i++){
+ assertTrue(gmeSellList.get(i-1).getTimestamp() < gmeSellList.get(i).getTimestamp());
+ }
- } catch(Exception e) {
+
+ for(int i = 1; i < amznBuyList.size(); i++){
+ assertTrue(amznBuyList.get(i-1).getTimestamp() < amznBuyList.get(i).getTimestamp());
+ }
+ tearDown();
+ }
+
+ @Test
+ public void testGetRecentStocks(){
+ setUp();
+ List<String> stockNames = new ArrayList<>();
+ try {
+ stockNames = db.getRecentStocks(start, end);
+ }catch(Exception e){
System.out.println("Error in test");
}
+ assertEquals(50, stockNames.size());
tearDown();
}
+
+ @Test
+ public void testGetAllTradesByStock(){
+ setUp();
+ List<List<Trade>> trades = new ArrayList<>();
+ try {
+ trades = db.getAllTradesByStock(start, end);
+ }catch(Exception e){
+ System.out.println("Error in test");
+ }
+
+ assertEquals(100, trades.size());
+
+ for(List<Trade> tList: trades){
+ Trade first = tList.get(0);
+ for(Trade t: tList){
+ //all things in each list should be for the same stock and same isBuy type
+ assertEquals(first.isBuy(), t.isBuy());
+ assertEquals(first.getStock(), t.getStock());
+ }
+ }
+ tearDown();
+ }
+
}