### Question:
TimeMonitor implements ITimeMonitor { public TimeMonitor(Object o) { this(o, o.getClass().getSimpleName(), false); } TimeMonitor(Object o);  TimeMonitor(String name);  TimeMonitor(Object monitored, String name, boolean enabled); @Override void startMonitor(); @Override void stopMonitor(); @Override List<Pair<Date,Double>> getMeasurements(); @Override Unit getUnit(); @Override String getName(); @Override boolean isEnabled(); @Override void enable(boolean status); @Override Object getMonitored(); @Override Double getMean(); @Override int getSize();  }### Answer:
@Test public void testTimeMonitor() throws InterruptedException { TimeMonitor m = new TimeMonitor("test-monitor"); assertInitializedDisabledWithName(m); double allowedDifferenceBetweenPauseAndMeasure = 0.01; assertMonitorMeasureActualPause(m, allowedDifferenceBetweenPauseAndMeasure); assertDontAddMeasureWhenDisabled(m); assertAddMeasureWhenEnabled(m); }