protected void verifyComparableToDifferent(T o1, T o2) { assertNotNull(o1); assertNotNull(o2); int result = o1.compareTo(o2); checkForMinMaxInt(result); assertTrue(0 != signum(result)); }
protected void verifyComparableToEquivalent(T o1, T o2) { assertNotNull(o1); assertNotNull(o2); int expected = 0; int result = o1.compareTo(o2); assertEquals(expected, signum(result)); }
protected void verifyComparableToSelf(T obj) { assertNotNull(obj); int expected = 0; int result = obj.compareTo(obj); checkForMinMaxInt(result); assertEquals(expected, signum(result)); }
protected void verifyComparableToNull(T obj) { assertNotNull(obj); try { obj.compareTo(null); String msg = "Expected NullPointerException was NOT thrown."; assertTrue(msg, false); } catch (NullPointerException ex) { // this is what the spec requires, so ignore the exception. assertNotNull(ex); } }
protected void verifyTransitiveComparison(T x, T y, T z) { assertNotNull(x); assertNotNull(y); assertNotNull(z); int x_y = x.compareTo(y); int y_z = y.compareTo(z); int x_z = x.compareTo(z); checkForMinMaxInt(x_y); checkForMinMaxInt(y_z); checkForMinMaxInt(x_z); if ((x_y > 0) && (y_z > 0)) { assertTrue(x_z > 0); } else if ((x_y < 0) && (y_z < 0)) { assertTrue(x_z < 0); } else { String msg = "Comparison of " + x.toString() + ", " + y.toString() + " and " + z.toString() + " is NOT Transitive. " + "Y must be 'between' X and Z."; assertTrue(msg, false); } }
protected void verifyComparableToVsEquals(T o1, T o2) { assertNotNull(o1); assertNotNull(o2); assertTrue((o1.compareTo(o2) == 0) == (o1.equals(o2))); assertTrue((o2.compareTo(o1) == 0) == (o2.equals(o1))); assertTrue((o1.compareTo(o2) == 0) == (o2.compareTo(o1) == 0)); }