//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.schedules; import static org.junit.Assert.assertTrue; import java.io.IOException; import org.apache.uima.collection.CollectionException; import org.apache.uima.resource.ResourceInitializationException; import org.junit.Test; import uk.gov.dstl.baleen.schedules.FixedRate; public class FixedRateTest extends AbstractSchedulerTest<FixedRate> { public FixedRateTest() { super(FixedRate.class); } @Test public void testRate() throws CollectionException, IOException, ResourceInitializationException { FixedRate scheduler = create("period", "1"); long start = System.currentTimeMillis(); assertTrue(scheduler.hasNext()); assertTrue(scheduler.hasNext()); assertTrue(scheduler.hasNext()); long end = System.currentTimeMillis(); long diff = end - start; assertTrue(String.format("Diff was %d", diff), diff >= 2000 && diff <= 4000); } @Test public void testDelay() throws CollectionException, IOException, ResourceInitializationException, InterruptedException { FixedRate scheduler = create("period", "1"); long start = System.currentTimeMillis(); assertTrue(scheduler.hasNext()); Thread.sleep(1000); assertTrue(scheduler.hasNext()); Thread.sleep(1000); assertTrue(scheduler.hasNext()); long end = System.currentTimeMillis(); long diff = end - start; assertTrue(String.format("Diff was %d", diff), diff >= 1900 && diff <= 2100); } }