dnd-rolltable/tests/test_tables.py

40 lines
981 B
Python

import pytest
from rolltable import tables
@pytest.mark.parametrize(
"table, expected",
[
(tables.wild_magic, ["A third eye", "Advantage on perception checks"]),
(tables.trinkets, ["ivory mimic"]),
(tables.psychadelic_effects, ["Cosmic", "mind expands", "it will become so"]),
(tables.encounters, ["None", "Easy", "Difficult", "Dangerous", "Deadly"]),
],
)
def test_flat(table, expected):
table.die = 1000
assert "d1000" in str(table)
for txt in expected:
assert txt in str(table)
def test_encounter_frequencies():
table = tables.encounters
table.die = 1000
table.frequency = "none"
table.reset()
assert "Deadly" not in str(table)
table.frequency = "deadly"
table.reset()
assert "Deadly" in str(table)
def test_markdown():
tables.trinkets.die = 1
md = tables.trinkets.as_markdown()
assert "| Roll | Trinket " in md
assert "| ---- |" in md
assert "d1" in md