@Test
public void canComputePartialTimeRemaining() {
expect(mockClock.getGranularity()).andReturn(1L).anyTimes();
expect(mockClock.getNanoTime()).andReturn(new DiscreteInterval(4L,5L));
expect(mockClock.getNanoTime()).andReturn(new DiscreteInterval(504L,505L)).anyTimes();
replay(mockClock);
impl.set(1000L,100L);
impl.start();
assertEquals(new DiscreteInterval(399L,601L), impl.getTimeRemaining());
verify(mockClock);
}