import pytest import sys from pathlib import Path # Добавляем родительскую директорию в sys.path для импорта модулей sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) from faction_utils import roll_dice, normalize_wikilink # ----------------------------------------------- Dice Tests ------------------------------------------------------------ def test_roll_dice_static(): """Проверяет парсинг нотации кубиков и вычисление статических бросков.""" assert roll_dice("1d1+5") == 6 assert roll_dice("2d1-1") == 1 assert roll_dice("10d1+0") == 10 def test_roll_dice_random(): """Проверяет, что результаты случайных бросков кубиков находятся в ожидаемых границах.""" result = roll_dice("1d20") assert 1 <= result <= 20 result = roll_dice("2d6+2") assert 4 <= result <= 14 # ----------------------------------------------- String Parsing Tests ------------------------------------------------------------ def test_normalize_wikilink(): """Проверяет нормализацию синтаксиса Obsidian wikilink в чистую строку.""" assert normalize_wikilink("[[Waterdeep]]") == "waterdeep" assert normalize_wikilink("[[Waterdeep|City]]") == "waterdeep" assert normalize_wikilink("Waterdeep") == "waterdeep" assert normalize_wikilink("[[Neverwinter|The Jewel of the North]]") == "neverwinter" assert normalize_wikilink("") == ""