Изучите следующий фрагмент:
assertThat(
Arrays.asList("1x", "2x", "3x", "4z"),
not(hasItem(not(endsWith("x"))))
);
Утверждает, что в списке нет элемента, который не заканчивается на «x». Это, конечно, - это двойное отрицание, означающее, что все элементы списка оканчиваются на "x".
Также обратите внимание, что фрагмент выдает:
java.lang.AssertionError:
Expected: not a collection containing not a string ending with "x"
got: <[1x, 2x, 3x, 4z]>
Это перечисляет весь список, а не только элемент, который не заканчивается на " x ».
Существует идиоматический способ: