35 lines
1.6 KiB
Python
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
|