Чтобы упомянуть другую опцию, которая в этом простом случае выполнит полную проверку: используйте основанное на свойствах тестирование с jqwik на платформе JUnit 5:
import org.junit.jupiter.api.*;
import net.jqwik.api.*;
import net.jqwik.api.constraints.*;
class PartitionedFunctionProperty {
@Property
void below80returnTrue(@ForAll @IntRange(min= 0, max = 79) int aNumber) {
Assertions.assertTrue(someMethod(aNumber));
}
@Property
void from80returnFalse(@ForAll @IntRange(min = 80, max = 100) int aNumber) {
Assertions.assertFalse(someMethod(aNumber));
}
private boolean someMethod(int aNumber) {
if (aNumber < 80) return true;
return false;
}
}
Если вычтобы действительно увидеть, что полный диапазон действительно генерируется, добавьте аннотацию @Report(Reporting.GENERATED)
в метод свойства, и вы получите следующий вывод:
timestamp = 2018-12-05T14:50:36.668, generated = [80]
timestamp = 2018-12-05T14:50:36.671, generated = [81]
timestamp = 2018-12-05T14:50:36.672, generated = [82]
timestamp = 2018-12-05T14:50:36.672, generated = [83]
...
timestamp = 2018-12-05T14:50:36.676, generated = [98]
timestamp = 2018-12-05T14:50:36.676, generated = [99]
timestamp = 2018-12-05T14:50:36.677, generated = [100]
timestamp = 2018-12-05T14:50:36.679
tries = 21
checks = 21
generation-mode = EXHAUSTIVE
after-failure = SAMPLE_ONLY
seed = 4490524914178941008
Найдите полный рабочий пример на github.