package edu.brown.cs.student; import edu.brown.cs.student.term.DatabaseQuerier; import edu.brown.cs.student.term.hub.Holder; import edu.brown.cs.student.term.hub.HubSearch; import edu.brown.cs.student.term.hub.LinkMapper; 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 java.time.Instant; import java.util.Map; import java.util.Set; public class HubRankTest { /** 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/lil_mock.sqlite3"); } catch(Exception e){ System.out.println("DBQuerier Test, couldn't connect to db???"); } } @After public void tearDown() { db = null; } @Test public void testEmptyDB(){ try{ db = new DatabaseQuerier("data/empty.sqlite3"); } catch(Exception e){ System.out.println("DBQuerier Test, couldn't connect to db???"); } LinkMapper lm = new LinkMapper(db); HubSearch hub = new HubSearch(lm); Map hubRanks = hub.runHubSearch(start, end); assertTrue(hubRanks.isEmpty()); tearDown(); } @Test public void flippedDates(){ setUp(); LinkMapper lm = new LinkMapper(db); HubSearch hub = new HubSearch(lm); Map hubRanks = hub.runHubSearch(end, start); assertTrue(hubRanks.isEmpty()); tearDown(); } @Test public void testHubRankSmall(){ setUp(); LinkMapper lm = new LinkMapper(db); HubSearch hub = new HubSearch(lm); Map hubRanks = hub.runHubSearch(start, end); assertEquals(6, hubRanks.size()); tearDown(); } @Test public void testCheckRightValues(){ setUp(); LinkMapper lm = new LinkMapper(db); HubSearch hub = new HubSearch(lm); Map hubRanks = hub.runHubSearch(start, end); Holder don = new Holder(1, "Don"); Holder mitch = new Holder(2, "Mitch"); Holder nancy = new Holder(3, "Nancy"); Holder midge = new Holder(4, "Midge"); Holder bob = new Holder(5, "Bob"); Holder jane = new Holder(6, "Jane"); System.out.println(hubRanks); assertTrue(hubRanks.get(mitch) > hubRanks.get(don)); assertTrue(hubRanks.get(don) > hubRanks.get(bob)); assertTrue(hubRanks.get(bob) > hubRanks.get(nancy)); assertTrue(hubRanks.get(nancy)> hubRanks.get(jane)); assertTrue(hubRanks.get(nancy) > hubRanks.get(midge)); tearDown(); } }