Option 1:
Use allMatch(Predicate)
:
assertThat(asList(0, 1, 2, 3))
.allMatch(i -> i > 0);
java.lang.AssertionError:
Expecting all elements of:
[0, 1, 2, 3]
to match given predicate but this element did not:
0
Option 2 (as suggested by Jens Schauder):
Use Consumer<E>
-based assertions with allSatisfy
:
assertThat(asList(0, 1, 2, 3))
.allSatisfy(i ->
assertThat(i).isGreaterThan(0));
The second option may result in more informative failure messages.
In this particular case the message highlights that some elements are expected to be greater than 0
java.lang.AssertionError:
Expecting all elements of:
[0, 1, 2, 3]
to satisfy given requirements, but these elements did not:
0
error:
Expecting actual:
0
to be greater than:
0
allMatch
method. That's exacly what I was looking for. Thank you very much! – Finding