### Question:
DateDatum extends Datum { @Override public int compareTo(Datum datum) { if (datum.kind() == TajoDataTypes.Type.DATE) { DateDatum another = (DateDatum) datum; return Ints.compare(jdate, another.jdate); } else if (datum.isNull()) { return -1; } else { throw new InvalidOperationException(datum.type()); } } DateDatum(int value);  DateDatum(TimeMeta tm); TimeMeta asTimeMeta(); @Override byte[] asTextBytes(); int getCenturyOfEra(); int getYear(); int getWeekyear(); int getMonthOfYear(); int getDayOfYear(); int getDayOfWeek(); int getISODayOfWeek(); int getWeekOfYear(); int getDayOfMonth(); @Override String toString(); @Override Datum plus(Datum datum); @Override Datum minus(Datum datum); @Override int asInt4(); @Override long asInt8(); @Override float asFloat4(); @Override double asFloat8(); @Override String asChars(); String toChars(String format); @Override int size(); @Override byte [] asByteArray(); @Override Datum equalsTo(Datum datum); @Override int compareTo(Datum datum); @Override boolean equals(Object obj); @Override int hashCode(); static final int SIZE; }### Answer:
@Test public void testCompareTo() { DateDatum theday = DatumFactory.createDate("2014-11-12"); DateDatum thedaybefore = DatumFactory.createDate("2014-11-11"); assertThat(theday.compareTo(thedaybefore) > 0, is(true)); assertThat(thedaybefore.compareTo(theday) > 0, is(false)); }