import pytest from core.prime_number import PrimeNumber def test_from_value_valid(): p = PrimeNumber.from_value(61) assert p.value == 61 assert repr(p) == "PrimeNumber(61)" def test_from_value_invalid(): with pytest.raises(ValueError): PrimeNumber.from_value(60) # не простое def test_random_in_range(): p = PrimeNumber.random(2, 20) assert isinstance(p, PrimeNumber) assert 2 <= p.value <= 20 # дополнительно проверим, что оно действительно простое assert PrimeNumber._is_prime(p.value) def test_random_no_primes(): with pytest.raises(ValueError): PrimeNumber.random(90, 92) # в этом диапазоне простых нет