If a test subject and the argument to isEqualTo are the same instance (e.g.
assertThat(x).isEqualTo(x)), then the assertion will always pass. Truth
implements isEqualTo using [Objects#equal] , which tests its arguments for
reference equality and returns true without calling equals() if both arguments
are the same instance.
JUnit's assertEquals (and similar) methods are implemented in terms of
Object#equals. However, this is not explicitly documented, so isn't a
contractual guarantee of the assertion methods.
To test the implementation of an equals method, use
Guava's EqualsTester, or explicitly call equals as part of the
test.