@Test public void testGetCurrentTimeUsesSystemClock() { DefaultEnvironmentEdge edge = new DefaultEnvironmentEdge(); long systemTime = System.currentTimeMillis(); long edgeTime = edge.currentTimeMillis(); assertTrue("System time must be either the same or less than the edge time", systemTime < edgeTime || systemTime == edgeTime); try { Thread.sleep(1); } catch (InterruptedException e) { fail(e.getMessage()); } long secondEdgeTime = edge.currentTimeMillis(); assertTrue("Second time must be greater than the first", secondEdgeTime > edgeTime); }
@Override public long currentTimeMillis() { return System.currentTimeMillis(); }
DefaultEnvironmentEdge implements EnvironmentEdge { @Override public long currentTimeMillis() { return System.currentTimeMillis(); } }
DefaultEnvironmentEdge implements EnvironmentEdge { @Override public long currentTimeMillis() { return System.currentTimeMillis(); }  }
DefaultEnvironmentEdge implements EnvironmentEdge { @Override public long currentTimeMillis() { return System.currentTimeMillis(); }  @Override long currentTimeMillis(); }
DefaultEnvironmentEdge implements EnvironmentEdge { @Override public long currentTimeMillis() { return System.currentTimeMillis(); }  @Override long currentTimeMillis();  }