### Question:
DatePM extends TextPM implements IDatePM { @Override public Comparable<?> getComparable() { return new DateComparable(); } DatePM(); static synchronized DateFormatProvider getDefaultDateFormatProvider(); static synchronized void setDefaultDateFormatProvider(DateFormatProvider provider); DateFormat getFormat(); void setFormat(DateFormat newFormat); Date getDate(); void setDate(Date date); void setDefaultDate(Date date); @Override Comparable<?> getComparable();  }### Answer:
@Test public void getComparable() { DatePM[] array = new DatePM[10]; for (int i = 1; i < 10; ++i) { array[i] = new DatePM(); Date date = new Date(); date.setTime(date.getTime() + MILLISECONDS_PER_DAY * i); array[i].setDate(date); } array[0] = new DatePM(); List<Comparable> cmpList = new ArrayList<Comparable>(array.length); for (int i = 0; i < array.length; ++i) { cmpList.add(array[i].getComparable()); } List<Comparable> tmp = new ArrayList<Comparable>(cmpList); Collections.shuffle(tmp); Collections.sort(tmp); for (int i = 0; i < cmpList.size(); ++i) { assertSame("tmp.get(i='" + i + "')", cmpList.get(i), tmp.get(i)); } }