package org.deeplearning4j.spark.time; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * Created by Alex on 26/06/2016. */ public class TestTimeSource { @Test public void testTimeSourceNTP() throws Exception { TimeSource timeSource = TimeSourceProvider.getInstance(); assertTrue(timeSource instanceof NTPTimeSource); for (int i = 0; i < 10; i++) { long systemTime = System.currentTimeMillis(); long ntpTime = timeSource.currentTimeMillis(); long offset = ntpTime - systemTime; System.out.println("System: " + systemTime + "\tNTPTimeSource: " + ntpTime + "\tOffset: " + offset); Thread.sleep(500); } } @Test public void testTimeSourceSystem() throws Exception { TimeSource timeSource = TimeSourceProvider.getInstance("org.deeplearning4j.spark.time.SystemClockTimeSource"); assertTrue(timeSource instanceof SystemClockTimeSource); for (int i = 0; i < 10; i++) { long systemTime = System.currentTimeMillis(); long ntpTime = timeSource.currentTimeMillis(); long offset = ntpTime - systemTime; System.out.println("System: " + systemTime + "\tSystemClockTimeSource: " + ntpTime + "\tOffset: " + offset); assertEquals(systemTime, ntpTime, 2); //Should be exact, but we might randomly tick over between one ms and the next Thread.sleep(500); } } }