//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; public class FixedDelayTest extends AbstractSchedulerTest<FixedDelay> { public FixedDelayTest() { super(FixedDelay.class); } @Test public void testRate() throws CollectionException, IOException, ResourceInitializationException { FixedDelay 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 >= 1900 && diff <= 2100); } @Test public void testDelay() throws CollectionException, IOException, ResourceInitializationException, InterruptedException { FixedDelay 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(); System.out.println(end - start); long diff = end - start; assertTrue(String.format("Diff was %d", diff), diff >= 3900 && diff <= 4100); } }