### Question:
Range implements Serializable { public static List<String> getDays(List<Range> ranges) { List<Range> normalizedRanges = normalize(ranges); Set<String> daysSet = new HashSet<>(); for (Range range : normalizedRanges) { daysSet.add(range.st); } List<String> result = new ArrayList<>(daysSet); Collections.sort(result); return result; } Range();  Range(String st, String ed, String sh, String eh); int getLength(); static int getLength(String smallerDate, String BiggerDate); String getSt(); void setSt(String st); String getEd(); void setEd(String ed); String getSh(); void setSh(String sh); String getEh(); void setEh(String eh); static List<Range> normalize(List<Range> ranges); static List<String> getDays(List<Range> ranges); @Override String toString();  }### Answer:
@Test public void getDays() { List<Range> ranges = new ArrayList<>(); Range r1 = new Range(); r1.setSt("2018-01-07"); r1.setEd("2018-01-07"); r1.setSh("0"); r1.setEh("23"); Range r2 = new Range(); r2.setSt("2018-01-09"); r2.setEd("2018-01-09"); r2.setSh("5"); r2.setEh("22"); Range r3 = new Range(); r3.setSt("2018-11-05"); r3.setEd("2018-11-05"); r3.setSh("7"); r3.setEh("11"); ranges.add(r1); ranges.add(r2); ranges.add(r3); List<String> res = Range.getDays(ranges); List<String> exp = new ArrayList(); exp.add("2018-01-07"); exp.add("2018-01-09"); exp.add("2018-11-05"); assertEquals(exp.toString(), res.toString()); }