private static void assertEvalsLikeOdd(Predicate<? super Integer> predicate) { assertEvalsLike(isOdd(), predicate); }
@SuppressWarnings("unchecked") // varargs public void testAnd_applyOneArg() { assertEvalsLikeOdd(Predicates.and(isOdd())); }
@SuppressWarnings("unchecked") // varargs public void testAnd_applyIterable() { Collection<Predicate<Integer>> empty = Arrays.asList(); assertEvalsToTrue(Predicates.and(empty)); assertEvalsLikeOdd(Predicates.and(Arrays.asList(isOdd()))); assertEvalsLikeOdd(Predicates.and(Arrays.asList(TRUE, isOdd()))); assertEvalsToFalse(Predicates.and(Arrays.asList(FALSE, NEVER_REACHED))); }
@SuppressWarnings("unchecked") // varargs public void testAnd_applyTernary() { assertEvalsLikeOdd(Predicates.and(isOdd(), TRUE, TRUE)); assertEvalsLikeOdd(Predicates.and(TRUE, isOdd(), TRUE)); assertEvalsLikeOdd(Predicates.and(TRUE, TRUE, isOdd())); assertEvalsToFalse(Predicates.and(TRUE, FALSE, NEVER_REACHED)); }
@SuppressWarnings("unchecked") // varargs public void testAnd_equalityTernary() { new EqualsTester() .addEqualityGroup( Predicates.and(TRUE, isOdd(), NEVER_REACHED), Predicates.and(TRUE, isOdd(), NEVER_REACHED)) .addEqualityGroup(Predicates.and(isOdd(), NEVER_REACHED, TRUE)) .addEqualityGroup(Predicates.and(TRUE)) .addEqualityGroup(Predicates.or(TRUE, isOdd(), NEVER_REACHED)) .testEquals(); }
@GwtIncompatible // SerializableTester @SuppressWarnings("unchecked") // varargs public void testAnd_serializationTernary() { checkSerialization(Predicates.and(TRUE, isOdd(), FALSE)); }
@GwtIncompatible // SerializableTester public void testNot_serialization() { checkSerialization(Predicates.not(isOdd())); }
public void testNot_apply() { assertEvalsToTrue(Predicates.not(FALSE)); assertEvalsToFalse(Predicates.not(TRUE)); assertEvalsLikeOdd(Predicates.not(Predicates.not(isOdd()))); }
@GwtIncompatible // SerializableTester @SuppressWarnings("unchecked") // varargs public void testAnd_serializationOneArg() { checkSerialization(Predicates.and(isOdd())); }
@GwtIncompatible // SerializableTester public void testAnd_serializationBinary() { checkSerialization(Predicates.and(TRUE, isOdd())); }
@SuppressWarnings("unchecked") // varargs public void testOr_applyTernary() { assertEvalsLikeOdd(Predicates.or(isOdd(), FALSE, FALSE)); assertEvalsLikeOdd(Predicates.or(FALSE, isOdd(), FALSE)); assertEvalsLikeOdd(Predicates.or(FALSE, FALSE, isOdd())); assertEvalsToTrue(Predicates.or(FALSE, TRUE, NEVER_REACHED)); }
public void testHashCodeForBooleanOperations() { Predicate<Integer> p1 = Predicates.isNull(); Predicate<Integer> p2 = isOdd(); // Make sure that hash codes are not computed per-instance. assertEqualHashCode(Predicates.not(p1), Predicates.not(p1)); assertEqualHashCode(Predicates.and(p1, p2), Predicates.and(p1, p2)); assertEqualHashCode(Predicates.or(p1, p2), Predicates.or(p1, p2)); // While not a contractual requirement, we'd like the hash codes for ands // & ors of the same predicates to not collide. assertTrue(Predicates.and(p1, p2).hashCode() != Predicates.or(p1, p2).hashCode()); }
@GwtIncompatible // SerializableTester @SuppressWarnings("unchecked") // varargs public void testOr_serializationTernary() { checkSerialization(Predicates.or(FALSE, isOdd(), TRUE)); }
@SuppressWarnings("unchecked") // varargs public void testAnd_equalityOneArg() { Object[] notEqualObjects = {Predicates.and(NEVER_REACHED, FALSE)}; new EqualsTester() .addEqualityGroup(Predicates.and(NEVER_REACHED), Predicates.and(NEVER_REACHED)) .addEqualityGroup(notEqualObjects) .addEqualityGroup(Predicates.and(isOdd())) .addEqualityGroup(Predicates.and()) .addEqualityGroup(Predicates.or(NEVER_REACHED)) .testEquals(); }
@GwtIncompatible // SerializableTester @SuppressWarnings("unchecked") // varargs public void testOr_serializationOneArg() { checkSerialization(Predicates.or(isOdd())); }
@GwtIncompatible // SerializableTester public void testOr_serializationBinary() { checkSerialization(Predicates.or(isOdd(), TRUE)); }
public void testAlwaysFalse_equality() throws Exception { new EqualsTester() .addEqualityGroup(FALSE, Predicates.alwaysFalse()) .addEqualityGroup(isOdd()) .addEqualityGroup(Predicates.alwaysTrue()) .testEquals(); }
public void testAlwaysTrue_equality() throws Exception { new EqualsTester() .addEqualityGroup(TRUE, Predicates.alwaysTrue()) .addEqualityGroup(isOdd()) .addEqualityGroup(Predicates.alwaysFalse()) .testEquals(); }