@Test public void testKeyGeneration () { for (int x1 = 0; x1 < 8; ++x1) { for (int y1 = 0; y1 < 8; ++y1) { int order1 = _order.get(y1).get(x1); Point2D point1 = _points.get(y1).get(x1); long key1 = _comparator.getComparisonKey(point1.getX(), point1.getY()); for (int x2 = 0; x2 < 8; ++x2) { for (int y2 = 0; y2 < 8; ++y2) { int order2 = _order.get(y2).get(x2); Point2D point2 = _points.get(y2).get(x2); long key2 = _comparator.getComparisonKey(point2.getX(), point2.getY()); String message = String.format("Point [%d, %d] (expected order %d) didn't compare properly to point [%d, %d] (expected order %d)", x1, y1, order1, x2, y2, order2); Assert.assertEquals(message, signum(Integer.compare(order1, order2)), signum(Long.compare(key1, key2))); } } } } } @Test