@Test
public void testCompare() {
AbstractComparator comparator = new AbstractComparator() {
@Override
protected Comparable getComparable(final Object obj) {
return (Comparable) obj;
}
};
Assert.assertEquals("Nulls should be equal", 0, comparator.compare(null, null));
Assert.assertTrue("Null should be less than non-null", comparator.compare(null, "x") < 0);
Assert.assertTrue("Null should be less than non-null", comparator.compare("x", null) > 0);
Assert.assertTrue("x is less than y", comparator.compare("x", "y") < 0);
Assert.assertTrue("x is less than y", comparator.compare("y", "x") > 0);
Assert.assertEquals("Equal objects should be equal", 0, comparator.compare("x", "x"));
}
}