@Test public void absurdTimingWithClockIfKnown() throws InterruptedException { final long startTimeMilli = System.currentTimeMillis(); final long startTimeNano = System.nanoTime(); Thread.sleep(1);// sleep for 1 millisecond final long endTimeNano = System.nanoTime(); // absurdly swap the start/end times TimingInfo ti = TimingInfo.newTimingInfoFullSupport(startTimeMilli, endTimeNano, startTimeNano); assertTrue(ti.isStartEpochTimeMilliKnown()); assertTrue(ti.getStartTimeNano() > startTimeNano); assertTrue(ti.getStartEpochTimeMilliIfKnown().longValue() == startTimeMilli); assertTrue(ti.isEndTimeKnown()); assertTrue(ti.getEndTimeNanoIfKnown().longValue() < endTimeNano); long end_epoch_time = startTimeMilli + TimeUnit.NANOSECONDS.toMillis(startTimeNano - endTimeNano); assertTrue(ti.getEndEpochTimeMilliIfKnown().longValue() == end_epoch_time); assertTrue(ti.getEndEpochTimeMilliIfKnown().longValue() == ti.getEndEpochTimeMilli()); double double_diff = TimeUnit.NANOSECONDS.toMicros(startTimeNano - endTimeNano) / 1000.0; assertTrue(ti.getTimeTakenMillisIfKnown().doubleValue() == double_diff); long long_diff = TimeUnit.NANOSECONDS.toMillis(startTimeNano - endTimeNano); assertTrue(ti.getTimeTakenMillisIfKnown().longValue() == long_diff); }
@Test public void newTimingWithClockTimeIfKnown() throws InterruptedException { final long startTimeMilli = System.currentTimeMillis(); final long startTimeNano = System.nanoTime(); Thread.sleep(1);// sleep for 1 millisecond final long endTimeNano = System.nanoTime(); TimingInfo ti = TimingInfo.newTimingInfoFullSupport(startTimeMilli, startTimeNano, endTimeNano); assertTrue(ti.isStartEpochTimeMilliKnown()); assertTrue(ti.getStartTimeNano() == startTimeNano); assertTrue(ti.getStartEpochTimeMilliIfKnown().longValue() == startTimeMilli); assertTrue(ti.isEndTimeKnown()); assertTrue(ti.getEndTimeNanoIfKnown().longValue() > startTimeNano); assertTrue(ti.getEndEpochTimeMilliIfKnown().longValue() >= startTimeMilli); assertTrue(ti.getEndEpochTimeMilliIfKnown().longValue() == ti.getEndEpochTimeMilli()); assertTrue(ti.getTimeTakenMillisIfKnown().longValue() >= 0); }
@Test public void absurdTimingWithNoClockIfKnown() throws InterruptedException { final long startTimeNano = System.nanoTime(); Thread.sleep(1);// sleep for 1 millisecond final long endTimeNano = System.nanoTime(); // absurdly swap the start/end times TimingInfo ti = TimingInfo.newTimingInfoFullSupport(endTimeNano, startTimeNano); assertFalse(ti.isStartEpochTimeMilliKnown()); assertTrue(ti.getStartTimeNano() > startTimeNano); assertNull(ti.getStartEpochTimeMilliIfKnown()); assertTrue(ti.isEndTimeKnown()); assertTrue(ti.getEndTimeNanoIfKnown().longValue() < endTimeNano); assertNull(ti.getEndEpochTimeMilliIfKnown()); double double_diff = TimeUnit.NANOSECONDS.toMicros(startTimeNano - endTimeNano) / 1000.0; assertTrue(ti.getTimeTakenMillisIfKnown().doubleValue() == double_diff); long long_diff = TimeUnit.NANOSECONDS.toMillis(startTimeNano - endTimeNano); assertTrue(ti.getTimeTakenMillisIfKnown().longValue() == long_diff); }
@Test public void newTimingWithNoClockTimeIfKnown() throws InterruptedException { final long startTimeNano = System.nanoTime(); Thread.sleep(1);// sleep for 1 millisecond final long endTimeNano = System.nanoTime(); TimingInfo ti = TimingInfo.newTimingInfoFullSupport(startTimeNano, endTimeNano); assertFalse(ti.isStartEpochTimeMilliKnown()); assertTrue(ti.getStartTimeNano() == startTimeNano); assertNull(ti.getStartEpochTimeMilliIfKnown()); assertTrue(ti.isEndTimeKnown()); assertTrue(ti.getEndTimeNanoIfKnown().longValue() > startTimeNano); assertNull(ti.getEndEpochTimeMilliIfKnown()); assertTrue(ti.getTimeTakenMillisIfKnown().longValue() >= 0); }
@Test public void absurdTimingWithClock() throws InterruptedException { final long startTimeMilli = System.currentTimeMillis(); final long startTimeNano = System.nanoTime(); Thread.sleep(1);// sleep for 1 millisecond final long endTimeNano = System.nanoTime(); // absurdly swap the start/end times TimingInfo ti = TimingInfo.newTimingInfoFullSupport(startTimeMilli, endTimeNano, startTimeNano); assertTrue(ti.isStartEpochTimeMilliKnown()); assertTrue(ti.getStartTimeNano() > startTimeNano); assertTrue(ti.getStartEpochTimeMilli() == startTimeMilli); assertTrue(ti.isEndTimeKnown()); assertTrue(ti.getEndTimeNano() < endTimeNano); long end_epoch_time = startTimeMilli + TimeUnit.NANOSECONDS.toMillis(startTimeNano - endTimeNano); assertTrue(ti.getEndEpochTimeMilli() == end_epoch_time); assertTrue(ti.getEndTime() == ti.getEndEpochTimeMilli()); double double_diff = TimeUnit.NANOSECONDS.toMicros(startTimeNano - endTimeNano) / 1000.0; assertTrue(ti.getTimeTakenMillis() == double_diff); long long_diff = TimeUnit.NANOSECONDS.toMillis(startTimeNano - endTimeNano); assertTrue(ti.getElapsedTimeMillis() == long_diff); }
@Test public void absurdTimingWithNoClock() throws InterruptedException { final long startTimeNano = System.nanoTime(); Thread.sleep(1);// sleep for 1 millisecond final long endTimeNano = System.nanoTime(); // absurdly swap the start/end times TimingInfo ti = TimingInfo.newTimingInfoFullSupport(endTimeNano, startTimeNano); assertFalse(ti.isStartEpochTimeMilliKnown()); assertTrue(ti.getStartTimeNano() > startTimeNano); assertTrue(ti.getStartEpochTimeMilli() == UNKNOWN); assertTrue(ti.isEndTimeKnown()); assertTrue(ti.getEndTimeNano() < endTimeNano); assertTrue(ti.getEndEpochTimeMilli() == UNKNOWN); assertTrue(ti.getEndTime() == ti.getEndEpochTimeMilli()); double double_diff = TimeUnit.NANOSECONDS.toMicros(startTimeNano - endTimeNano) / 1000.0; assertTrue(ti.getTimeTakenMillis() == double_diff); long long_diff = TimeUnit.NANOSECONDS.toMillis(startTimeNano - endTimeNano); assertTrue(ti.getElapsedTimeMillis() == long_diff); }
@Test public void newTimingWithClockTime() throws InterruptedException { final long startTimeMilli = System.currentTimeMillis(); final long startTimeNano = System.nanoTime(); Thread.sleep(1);// sleep for 1 millisecond final long endTimeNano = System.nanoTime(); TimingInfo ti = TimingInfo.newTimingInfoFullSupport(startTimeMilli, startTimeNano, endTimeNano); assertTrue(ti.isStartEpochTimeMilliKnown()); assertTrue(ti.getStartTimeNano() == startTimeNano); assertTrue(ti.getStartEpochTimeMilli() == startTimeMilli); assertTrue(ti.isEndTimeKnown()); assertTrue(ti.getEndTimeNano() > startTimeNano); assertTrue(ti.getEndEpochTimeMilli() >= startTimeMilli); assertTrue(ti.getEndTime() == ti.getEndEpochTimeMilli()); assertTrue(ti.getTimeTakenMillis() >= 0); assertTrue(ti.getElapsedTimeMillis() >= 0); }
@Test public void newTimingWithNoClockTime() throws InterruptedException { final long startTimeNano = System.nanoTime(); Thread.sleep(1);// sleep for 1 millisecond final long endTimeNano = System.nanoTime(); TimingInfo ti = TimingInfo.newTimingInfoFullSupport(startTimeNano, endTimeNano); assertFalse(ti.isStartEpochTimeMilliKnown()); assertTrue(ti.getStartTimeNano() == startTimeNano); assertTrue(ti.getStartEpochTimeMilli() == UNKNOWN); assertTrue(ti.isEndTimeKnown()); assertTrue(ti.getEndTimeNano() > startTimeNano); assertTrue(ti.getEndEpochTimeMilli() == UNKNOWN); assertTrue(ti.getEndTime() == ti.getEndEpochTimeMilli()); assertTrue(ti.getTimeTakenMillis() >= 0); assertTrue(ti.getElapsedTimeMillis() >= 0); }