package quba.service; import org.joda.time.DateTime; import org.junit.Test; import quba.models.QubaStation; import quba.models.QubaSubjective; import quba.service.QubaWindWarningFetcher; import service.PoseidonService; import util.InMemoryDbTest; import java.util.List; import static org.junit.Assert.*; public class QubaWindWarningFetcherTest extends InMemoryDbTest { @Test public void testFetchWarning() throws Exception { QubaWindWarningFetcher fetcher = new QubaWindWarningFetcher(); String position_name = "Gullfaks"; DateTime date = new DateTime(2016,2,25,0,0, PoseidonService.getTimeZone()); Integer termin = 15; boolean warning = fetcher.fetchWarning(position_name,date,termin); assertTrue(warning); date = new DateTime(2016,1,10,0,0, PoseidonService.getTimeZone()); termin = 6; warning = fetcher.fetchWarning(position_name,date,termin); assertFalse(warning); } @Test public void testGetWindValues() throws Exception { QubaWindWarningFetcher fetcher = new QubaWindWarningFetcher(); String position_name = "Station 1"; QubaStation station = QubaStation.findStationByName(position_name); assertNotNull(station); DateTime date = new DateTime(2016,1,15,0,0, PoseidonService.getTimeZone()); Integer termin = 6; List<QubaSubjective> windValues = fetcher.getWindValues(position_name, date, termin); assertNotNull("Ingen vind-verdier funnet i quba", windValues); } @Test public void testHasStrongWinds() throws Exception { QubaWindWarningFetcher fetcher = new QubaWindWarningFetcher(); String position_name = "Gullfaks"; QubaStation station = QubaStation.findStationByName(position_name); assertNotNull(station); Integer termin = 15; DateTime date = new DateTime(2016, 2, 25, 0, 0, PoseidonService.getTimeZone()).withHourOfDay(termin); DateTime endOfWindow = date.plusHours(48); List<QubaSubjective> windValues = fetcher.getWindValues(position_name, date, termin); assertTrue("Liste over vindverdier har ingen over grensen", fetcher.hasStrongWinds(windValues,endOfWindow)); } }