package codeine.command_peer; import static org.junit.Assert.assertEquals; import java.util.concurrent.TimeUnit; import org.junit.Test; public class LinearProgressiveRateClaculatorTest { private LinearProgressiveRateClaculator ratioCalculator = new LinearProgressiveRateClaculator(); @Test public void testNoMoreMinutesLeft() { ratioCalculator.iterationStart(0, 5); assertEquals(5, ratioCalculator.numOfNodesToExecute()); assertEquals(5, ratioCalculator.ratio(), 0.1); } @Test public void testRatio() { ratioCalculator.iterationStart(2, 22); assertEquals(11, ratioCalculator.numOfNodesToExecute()); assertEquals(11, ratioCalculator.ratio(), 0.1); } @Test public void testRatioNotInt() { ratioCalculator.iterationStart(3, 22); assertEquals(8, ratioCalculator.numOfNodesToExecute()); assertEquals(22/(double)3, ratioCalculator.ratio(), 0.1); } @Test public void testRatioMoreThan1() { assertEquals(TimeUnit.SECONDS.toMillis(40), ratioCalculator.getTimeToSleep(2, TimeUnit.SECONDS.toMillis(20))); } @Test public void testRatioLessThan1() { assertEquals(TimeUnit.SECONDS.toMillis(90), ratioCalculator.getTimeToSleep(0.5, TimeUnit.SECONDS.toMillis(30))); } @Test public void testRatio1() { assertEquals(TimeUnit.SECONDS.toMillis(30), ratioCalculator.getTimeToSleep(1, TimeUnit.SECONDS.toMillis(30))); } }