示例#1
0
  public void testAllEqual() {
    Ordering<Object> comparator = Ordering.allEqual();
    assertSame(comparator, comparator.reverse());

    assertEquals(comparator.compare(null, null), 0);
    assertEquals(comparator.compare(new Object(), new Object()), 0);
    assertEquals(comparator.compare("apples", "oranges"), 0);
    assertSame(comparator, reserialize(comparator));
    assertEquals("Ordering.allEqual()", comparator.toString());

    List<String> strings = ImmutableList.of("b", "a", "d", "c");
    assertEquals(strings, comparator.sortedCopy(strings));
    assertEquals(strings, comparator.immutableSortedCopy(strings));
  }
示例#2
0
  // A more limited test than the one that follows, but this one uses the
  // actual public API.
  public void testArbitrary_withoutCollisions() {
    List<Object> list = Lists.newArrayList();
    for (int i = 0; i < 50; i++) {
      list.add(new Object());
    }

    Ordering<Object> arbitrary = Ordering.arbitrary();
    Collections.sort(list, arbitrary);

    // Now we don't care what order it's put the list in, only that
    // comparing any pair of elements gives the answer we expect.
    Helpers.testComparator(arbitrary, list);

    assertEquals("Ordering.arbitrary()", arbitrary.toString());
  }
示例#3
0
 public void testNatural() {
   Ordering<Integer> comparator = Ordering.natural();
   Helpers.testComparator(comparator, Integer.MIN_VALUE, -1, 0, 1, Integer.MAX_VALUE);
   try {
     comparator.compare(1, null);
     fail();
   } catch (NullPointerException expected) {
   }
   try {
     comparator.compare(null, 2);
     fail();
   } catch (NullPointerException expected) {
   }
   try {
     comparator.compare(null, null);
     fail();
   } catch (NullPointerException expected) {
   }
   assertSame(comparator, reserialize(comparator));
   assertEquals("Ordering.natural()", comparator.toString());
 }
示例#4
0
 public void testUsingToString() {
   Ordering<Object> ordering = Ordering.usingToString();
   Helpers.testComparator(ordering, 1, 12, 124, 2);
   assertEquals("Ordering.usingToString()", ordering.toString());
   assertSame(ordering, reserialize(ordering));
 }