### Question:
DefaultEnvironmentEdge implements EnvironmentEdge { @Override public long currentTimeMillis() { return System.currentTimeMillis(); }  @Override long currentTimeMillis();  }### Answer:
@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); }