package edu.gatech.cs2340.trydent.test; import static edu.gatech.cs2340.trydent.test.TestUtil.objectEquals; import org.junit.Test; import edu.gatech.cs2340.trydent.math.curve.IndexWrapMode; import edu.gatech.cs2340.trydent.math.curve.TimeWrapMode; public class TimingTest { @Test public void testIndexClamp() { IndexWrapMode m = IndexWrapMode.CLAMP; objectEquals(3, m.handle(3, 5)); objectEquals(2, m.handle(3, 3)); objectEquals(0, m.handle(-1, 5)); objectEquals(5, m.handle(1000, 6)); } @Test public void testIndexWrap() { IndexWrapMode m = IndexWrapMode.WRAP; objectEquals(3, m.handle(3, 5)); objectEquals(0, m.handle(3, 3)); objectEquals(4, m.handle(-1, 5)); objectEquals(4, m.handle(10, 6)); } @Test public void testIndexReflect() { IndexWrapMode m = IndexWrapMode.REFLECT; objectEquals(3, m.handle(3, 5)); objectEquals(2, m.handle(3, 3)); objectEquals(1, m.handle(-1, 5)); objectEquals(3, m.handle(8, 6)); } @Test public void testTimeClamp() { TimeWrapMode m = TimeWrapMode.CLAMP; objectEquals(3.0, m.handle(3.0, 10.0)); objectEquals(0.0, m.handle(0.0, 10.0)); objectEquals(10.0, m.handle(10.0, 10.0)); objectEquals(0.0, m.handle(-0.1, 10.0)); objectEquals(0.0, m.handle(-7.0, 10.0)); objectEquals(10.0, m.handle(10.1, 10.0)); objectEquals(10.0, m.handle(17.0, 10.0)); objectEquals(0.0, m.handle(-0.25 - 10.0*12.0, 10.0)); objectEquals(10.0, m.handle(17.0 + 10.0*12.0, 10.0)); } @Test public void testTimeWrap() { TimeWrapMode m = TimeWrapMode.WRAP; objectEquals(3.0, m.handle(3.0, 10.0)); objectEquals(0.0, m.handle(0.0, 10.0)); objectEquals(9.9999, m.handle(9.9999, 10.0)); objectEquals(9.9, m.handle(-0.1, 10.0)); objectEquals(3.0, m.handle(-7.0, 10.0)); objectEquals(0.25, m.handle(10.25, 10.0)); objectEquals(7.0, m.handle(17.0, 10.0)); objectEquals(9.75, m.handle(-0.25 - 10.0*12.0, 10.0)); objectEquals(7.0, m.handle(17.0 + 10.0*12.0, 10.0)); } @Test public void testTimeReflect() { TimeWrapMode m = TimeWrapMode.REFLECT; objectEquals(3.0, m.handle(3.0, 10.0)); objectEquals(0.0, m.handle(0.0, 10.0)); objectEquals(9.9999, m.handle(9.9999, 10.0)); objectEquals(0.25, m.handle(-0.25, 10.0)); objectEquals(7.0, m.handle(-7.0, 10.0)); objectEquals(9.75, m.handle(10.25, 10.0)); objectEquals(3.0, m.handle(17.0, 10.0)); objectEquals(0.25, m.handle(-0.25 - 10.0*12.0, 10.0)); objectEquals(3.0, m.handle(17.0 + 10.0*12.0, 10.0)); objectEquals(9.75, m.handle(-0.25 - 10.0*11.0, 10.0)); objectEquals(7.0, m.handle(17.0 + 10.0*11.0, 10.0)); } }