27 lines
753 B
Python
27 lines
753 B
Python
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) # в этом диапазоне простых нет
|