### Question:
IntegerTime implements Time { @Override public void increment() { this.time++; } IntegerTime();  IntegerTime(int time); @Override boolean equals(Time t); @Override int hashCode(); @Override boolean equals(Object obj); @Override void increment(); @Override void setTime(Time t); @Override String toString(); @Override Time clone(); @Override boolean greaterThan(Time t); @Override int intValue();  }### Answer:
@Test public void testIncrement() { final int initialTime = rand.nextInt(); Time t1 = new IntegerTime(initialTime); Time t2 = new IntegerTime(initialTime); Time t3 = new IntegerTime(initialTime + 1); assertTrue(t1.equals(t2)); assertFalse(t2.equals(t3)); assertFalse(t1.equals(t3)); t2.increment(); assertFalse(t1.equals(t2)); assertTrue(t2.equals(t3)); assertFalse(t1.equals(t3)); }