У меня есть массив Groovy, который получит заданное количество случайных целочисленных значений. И я хочу заявить, что каждый элемент в массиве имеет значение в заданном диапазоне. Я пытаюсь использовать Hamcrest Matchers. Итак, мой тест выглядит так:
@Test
void testShouldReturnArrayOfStats(){
def results = pg.rollStats()
assertThat results, everyItem(both(greaterThan(0)).and(lessThanOrEqualTo(6)))
}
Когда я запускаю тест, я получаю assertionError
java.lang.AssertionError: Expected: every item is (a value greater than <0> and a value less than or equal to <6>)
but: was [<6>, <3>, <5>, <4>, <3>, <2>]
Я пробовал несколько вариантов этого, но не сдам тест. просто взглянув на часть ошибки «Но: было», я могу увидеть, что все 6 значений соответствуют требованиям, но тест по-прежнему не проходит.
Я не использовал Groovy или Hamcrest очень давно, поэтому уверен, что что-то упустил. Спасибо