diff options
author | Michael Foiani <sotech117@michaels-mbp-3.lan> | 2021-04-16 11:28:17 -0400 |
---|---|---|
committer | Michael Foiani <sotech117@michaels-mbp-3.lan> | 2021-04-16 11:28:17 -0400 |
commit | 250f5edc1ed502c74c398b5850a0bb7a7b01848c (patch) | |
tree | 56e41c692f5d1380eda69bc931e0d01feda0721b /src/test/java/edu/brown/cs/student/DBQuerierTest.java | |
parent | 939f748b5f0914fe1558d571fdf13962c46b4537 (diff) | |
parent | b75b23ff59a71c9a54be43525189b678124ae3a3 (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.java | 167 |
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(); + } + } |