### Question:
MarkerComparator implements Comparator<Marker> { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MarkerComparator that = (MarkerComparator) o; return strategy.equals(that.strategy); } MarkerComparator(PartitionStrategy strategy); @SuppressWarnings("unchecked") boolean contains(Marker container, Marker test); @Override @SuppressWarnings("unchecked") int compare(Marker m1, Marker m2); @SuppressWarnings("unchecked") int rightCompare(Marker m1, Marker m2); @SuppressWarnings("unchecked") int leftCompare(Marker m1, Marker m2); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testEquals() { Assert.assertEquals(0, comparator.compare(OCT, OCT)); Assert.assertEquals(0, comparator.compare(SEPT_30, SEPT_30)); Assert.assertEquals(0, comparator.compare(OCT_12, OCT_12)); Assert.assertEquals(0, comparator.compare(NOV_1, NOV_1)); Assert.assertEquals(0, comparator.leftCompare(OCT, OCT)); Assert.assertEquals(0, comparator.leftCompare(SEPT_30, SEPT_30)); Assert.assertEquals(0, comparator.leftCompare(OCT_12, OCT_12)); Assert.assertEquals(0, comparator.leftCompare(NOV_1, NOV_1)); Assert.assertEquals(0, comparator.rightCompare(OCT, OCT)); Assert.assertEquals(0, comparator.rightCompare(SEPT_30, SEPT_30)); Assert.assertEquals(0, comparator.rightCompare(OCT_12, OCT_12)); Assert.assertEquals(0, comparator.rightCompare(NOV_1, NOV_1)); }