### Question:
IMSTimePoint implements Comparable<IMSTimePoint> { public static IMSTimePoint incrementHour(IMSTimePoint imsTimePoint) { IMSTimePoint localIMSTimePoint = imsTimePoint; if (localIMSTimePoint.hourIndex < 23 && localIMSTimePoint.hourIndex > 0) { ++localIMSTimePoint.hourIndex; } else { DateFormat format = new SimpleDateFormat(DATE_FORMAT); LocalDateTime dtOrg, dtPlusOne = null; DateTimeFormatter outputFormat = null; Date localDate; try { localDate = format.parse(imsTimePoint.getDate()); dtOrg = LocalDateTime.ofInstant(localDate.toInstant(), ZoneId.systemDefault()); dtPlusOne = dtOrg.plusDays(1); outputFormat = DateTimeFormatter.ofPattern(DATE_FORMAT); outputFormat.format(dtPlusOne); } catch (ParseException e) { LOGGER.error(e.getMessage()); } localIMSTimePoint.setHourIndex(0); if (outputFormat != null) { localIMSTimePoint.setDate(outputFormat.format(dtPlusOne)); } } return localIMSTimePoint; } 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 incrementHour() { long epTime = Long.valueOf("1574641835000"); IMSTimePoint epochTime = new IMSTimePoint(epTime); assertEquals(16, epochTime.getHourIndex(), 0); long epTime2 = Long.valueOf("1574645435000"); IMSTimePoint epochTime2 = new IMSTimePoint(epTime2); assertEquals(17, epochTime2.getHourIndex(), 0); epochTime.incrementHour(epochTime2); assertEquals(16, epochTime.getHourIndex(), 0); assertEquals(18, epochTime2.getHourIndex(), 0); epochTime2.setHourIndex(33); assertEquals(33, epochTime2.getHourIndex(), 0); epochTime.incrementHour(epochTime2); assertEquals(16, epochTime.getHourIndex(), 0); assertEquals(0, epochTime2.getHourIndex(), 0); }