diff options
author | Julia McCauley <skurvyj@gmail.com> | 2021-04-01 21:49:35 -0400 |
---|---|---|
committer | Julia McCauley <skurvyj@gmail.com> | 2021-04-01 21:49:35 -0400 |
commit | 6cf2414b421dc9270e980920978ae5aaa413c74a (patch) | |
tree | e5333c4e2d2522746ecd033a087a56034d44fc7f /src/test/java/edu/brown/cs/student/DBQuerierTest.java | |
parent | 22538c2a68160cd7edc47d7c3bcea54f84c97b72 (diff) |
DatabaseQuerier fully functional for hub search purposes, some basic tests written
Diffstat (limited to 'src/test/java/edu/brown/cs/student/DBQuerierTest.java')
-rw-r--r-- | src/test/java/edu/brown/cs/student/DBQuerierTest.java | 120 |
1 files changed, 120 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..0d365ec --- /dev/null +++ b/src/test/java/edu/brown/cs/student/DBQuerierTest.java @@ -0,0 +1,120 @@ +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; + +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); + 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(); + } +} |