### Question:
IMSTimePoint implements Comparable<IMSTimePoint> { @Override public int compareTo(IMSTimePoint o) { if (getDateTime() == null || o.getDateTime() == null) return 0; return getDateTime().compareTo(o.getDateTime()); } IMSTimePoint(long epochTime); String toString(); String getDate(); void setDate(String date); int getHourIndex(); void setHourIndex(int hourIndex); static IMSTimePoint incrementHour(IMSTimePoint imsTimePoint); static IMSTimePoint incrementDay(IMSTimePoint imsTimePoint); static List<IMSTimePoint> build(List<Range> ranges); @Override int hashCode(); @Override boolean equals(Object obj); static List<IMSTimePoint> appendListFromStartToEndHours(int start, int end, List<IMSTimePoint> imsTimePointList, Range elt); LocalDateTime getDateTime(); @Override int compareTo(IMSTimePoint o);  }### Answer:
@Test public void compareTo() { long epTime = Long.valueOf("1574641835000"); IMSTimePoint epochTime = new IMSTimePoint(epTime); long epTime2 = Long.valueOf("1574645435000"); IMSTimePoint epochTime2 = new IMSTimePoint(epTime2); assertEquals(-1, epochTime.compareTo(epochTime2), 0); assertEquals(1, epochTime2.compareTo(epochTime), 0); assertEquals(0, epochTime.compareTo(epochTime), 0); }