package st.gravel.support.compiler; import static org.junit.Assert.*; import java.util.Date; import org.junit.Before; import org.junit.Test; import st.gravel.support.compiler.testtools.TestBootstrap; import st.gravel.support.jvm.runtime.ImageBootstrapper; import st.gravel.support.jvm.runtime.MethodTools; public class DelayTest { @Before public void setUp() { TestBootstrap.getSingleton(); } @Test public void testWaitForDelay() { Object appClass = ImageBootstrapper.systemMapping .singletonAtReferenceString_("st.gravel.lang.Delay"); Object delay = MethodTools.safePerform(appClass, "forMilliseconds:", 100); Date start = new Date(); MethodTools.safePerform(delay, "wait"); Date stop = new Date(); long duration = stop.getTime() - start.getTime(); System.out.println("Waited: " + duration + " ms"); assertTrue(duration >= 100); } }