Class EquivalenceTester<T>

java.lang.Object
com.google.common.testing.EquivalenceTester<T>

public final class EquivalenceTester<T> extends Object
Tester for Equivalence relationships between groups of objects.

To use, create a new EquivalenceTester and add equivalence groups where each group contains objects that are supposed to be equal to each other. Objects of different groups are expected to be unequal. For example:


 EquivalenceTester.of(someStringEquivalence)
     .addEquivalenceGroup("hello", "h" + "ello")
     .addEquivalenceGroup("world", "wor" + "ld")
     .test();
 

Note that testing Object.equals(Object) is more simply done using the EqualsTester. It includes an extra test against an instance of an arbitrary class without having to explicitly add another equivalence group.

Since:
10.0
  • Field Details

  • Constructor Details

    • EquivalenceTester

      private EquivalenceTester(Equivalence<? super T> equivalence)
  • Method Details

    • of

      public static <T> EquivalenceTester<T> of(Equivalence<? super T> equivalence)
    • addEquivalenceGroup

      public EquivalenceTester<T> addEquivalenceGroup(T first, T... rest)
      Adds a group of objects that are supposed to be equivalent to each other and not equivalent to objects in any other equivalence group added to this tester.
    • addEquivalenceGroup

      public EquivalenceTester<T> addEquivalenceGroup(Iterable<T> group)
    • test

      public EquivalenceTester<T> test()
      Run tests on equivalence methods, throwing a failure on an invalid test
    • testItems

      private void testItems()