CollectionFunctionals { public static Predicate<Iterable<?>> notEmpty() { return Predicates.not(emptyOrNull()); }  static Supplier<Integer> sizeSupplier(final Iterable<?> collection); static Function<Iterable<?>, Integer> sizeFunction(); static Function<Iterable<?>, Integer> sizeFunction(final Integer valueIfInputNull); static Function<Iterable<? extends T>, T> firstElement(); static Function<Map<K,?>,Set<K>> keys(); static Function<Map<K, ?>, Integer> mapSize(); static Function<Map<K, ?>, Integer> mapSize(Integer valueIfNull); static Predicate<Iterable<?>> equalsSetOf(Object... target); static Predicate<Iterable<?>> equalsSet(final Iterable<?> target); static Predicate<Iterable<?>> sizeEquals(int targetSize); static Predicate<Iterable<?>> empty(); static Predicate<Iterable<?>> emptyOrNull(); static Predicate<Iterable<?>> notEmpty(); static Predicate<Map<K,?>> mapSizeEquals(int targetSize); static Predicate<Map<K,?>> mapEmptyOrNull(); static Predicate<Map<K,?>> mapNotEmpty(); static Function<I, List<T>> limit(final int max); static Predicate<T> contains(I item); static Predicate<TT> all(Predicate<T> attributeSatisfies); static Predicate<TT> any(Predicate<T> attributeSatisfies); static Predicate<TT> quorum(QuorumCheck quorumCheck, Predicate<T> attributeSatisfies);  }
@Test public void testListNotEmpty() { Assert.assertFalse(CollectionFunctionals.notEmpty().apply(null)); Assert.assertFalse(CollectionFunctionals.notEmpty().apply(ImmutableList.of())); Assert.assertTrue(CollectionFunctionals.notEmpty().apply(ImmutableList.of("x"))); }