40 lines
981 B
Python
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
|