dnd5-scripts/faction_turns/tests/test_wwn_mechanics.py

35 lines
1.6 KiB
Python

import pytest
import sys
from pathlib import Path
# Добавляем родительскую директорию в sys.path для импорта модулей
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from wwn_mechanics import calc_hp_max, calc_income, calc_xp_cost_to_raise
# ----------------------------------------------- HP Tests ------------------------------------------------------------
def test_calc_hp_max():
"""Проверяет корректность расчета максимального HP фракции на основе атрибутов."""
assert calc_hp_max(2, 4, 5) == 17
assert calc_hp_max(3, 3, 3) == 12
assert calc_hp_max(1, 1, 1) == 3
assert calc_hp_max(8, 8, 8) == 60
# ----------------------------------------------- Income Tests ------------------------------------------------------------
def test_calc_income():
"""Проверяет правильность расчета дохода фракции (Treasure income) за один ход."""
assert calc_income(4, 2, 5) == 4
assert calc_income(2, 1, 1) == 2
assert calc_income(8, 7, 6) == 8
# ----------------------------------------------- XP Tests ------------------------------------------------------------
def test_calc_xp_cost_to_raise():
"""Проверяет получение стоимости в XP для повышения значения атрибута."""
assert calc_xp_cost_to_raise(1) == 2
assert calc_xp_cost_to_raise(4) == 9
assert calc_xp_cost_to_raise(7) == 20
assert calc_xp_cost_to_raise(8) is None