Files

27 lines
753 B
Python
Raw Permalink Normal View History

2026-07-12 14:06:45 +04:00
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) # в этом диапазоне простых нет