public void test_compareTo() { Triple<String, String, String> abc = Triple.of("A", "B", "C"); Triple<String, String, String> adc = Triple.of("A", "D", "C"); Triple<String, String, String> bac = Triple.of("B", "A", "C"); Triple<String, String, String> bad = Triple.of("B", "A", "D"); assertTrue(abc.compareTo(abc) == 0); assertTrue(abc.compareTo(adc) < 0); assertTrue(abc.compareTo(bac) < 0); assertTrue(adc.compareTo(abc) > 0); assertTrue(adc.compareTo(adc) == 0); assertTrue(adc.compareTo(bac) < 0); assertTrue(bac.compareTo(abc) > 0); assertTrue(bac.compareTo(adc) > 0); assertTrue(bac.compareTo(bac) == 0); assertTrue(bad.compareTo(abc) > 0); assertTrue(bad.compareTo(adc) > 0); assertTrue(bad.compareTo(bac) > 0); assertTrue(bad.compareTo(bad) == 0); }
@Test(expectedExceptions = ClassCastException.class) public void test_compareTo_notComparable() { Runnable notComparable = () -> {}; Triple<Integer, Runnable, String> test1 = Triple.of(1, notComparable, "A"); Triple<Integer, Runnable, String> test2 = Triple.of(2, notComparable, "B"); test1.compareTo(test2); }