Files
Tirsvad cc95105cf4 Add the Higher or Lower game: logic, routes, server.py and tests
Task: MIL-003#1
Task: MIL-003#2
Task: MIL-003#3
Task: MIL-003#4
2026-11-06 12:41:43 +08:00

25 lines
789 B
Python

"""Tests of the guess game use case."""
import pytest
from higher_lower.application.guess_game import GuessGame
from higher_lower.constants import MAX_NUMBER, MIN_NUMBER
from higher_lower.domain.rules import GuessResult
def test_check_reports_low_high_and_correct() -> None:
game = GuessGame(5)
assert game.check(2) is GuessResult.LOW
assert game.check(8) is GuessResult.HIGH
assert game.check(5) is GuessResult.CORRECT
@pytest.mark.parametrize("guess", [MIN_NUMBER, MAX_NUMBER])
def test_is_in_range_accepts_limits(guess: int) -> None:
assert GuessGame(5).is_in_range(guess)
@pytest.mark.parametrize("guess", [MIN_NUMBER - 1, MAX_NUMBER + 1])
def test_is_in_range_rejects_values_just_outside(guess: int) -> None:
assert not GuessGame(5).is_in_range(guess)