@Test public void shouldBeEqualIfOtherPredicateIsAlsoATruePredicate() throws Exception { Predicate<Object> firstPredicate = new TruePredicate<Object>(); Predicate<Object> secondPredicate = new TruePredicate<Object>(); boolean equal = firstPredicate.equals(secondPredicate); assertThat(equal, is(true)); }
@Override public boolean equals(Object other) { return EqualsBuilder.reflectionEquals(this, other); }
TruePredicate implements Predicate<T> { @Override public boolean equals(Object other) { return EqualsBuilder.reflectionEquals(this, other); } }
TruePredicate implements Predicate<T> { @Override public boolean equals(Object other) { return EqualsBuilder.reflectionEquals(this, other); }  }
TruePredicate implements Predicate<T> { @Override public boolean equals(Object other) { return EqualsBuilder.reflectionEquals(this, other); }  @Override boolean evaluate(T item); @Override boolean equals(Object other); @Override int hashCode(); }
TruePredicate implements Predicate<T> { @Override public boolean equals(Object other) { return EqualsBuilder.reflectionEquals(this, other); }  @Override boolean evaluate(T item); @Override boolean equals(Object other); @Override int hashCode();  }