Predicate. Проверить, что число положительное

нужно проверить, что число положительное. сделать это нужно через лямбду.

мой код:

public class PredicateCheckPositive {

    public static boolean check(int num) {
         return check((num) -> num > 0);
    }

    private static boolean check(Predicate<Integer> predicate, int num) {
        return predicate.test(num);
    } 
}

мой тест:

public class PredicateCheckPositiveTest {

    @Test
    public void whenPositive() {
        assertTrue(PredicateCheckPositive.check(1));
        assertFalse(PredicateCheckPositive.check(-1));
        assertFalse(PredicateCheckPositive.check(0));
    }

}

что нужно исправить чтобы код работал.


Ответы (1 шт):

Автор решения: Vladimir Glinskikh
    public class PredicateCheckPositive {

    public static boolean verification(int num) {
        return check(i -> (i > 0), num);
    }

    private static boolean check(Predicate<Integer> predicate, int num) {
        return predicate.test(num);
    }
}

И тестируем:

class PredicateCheckPositiveTest {

    @Test
    void checksWhenPositive() {
        assertTrue(PredicateCheckPositive.verification(1));
        assertFalse(PredicateCheckPositive.verification(0));
    }

    @Test
    void checksWhenNegative(){
        assertFalse(PredicateCheckPositive.verification(-1));
    }
}
→ Ссылка