Mi2dRPGamEng/tests/test_medical_log.py

28 lines
922 B
Python

from engine.character import MAX_MEDICAL_LOG_ENTRIES, Character
def test_medical_log_starts_empty():
assert Character().medical_log == []
def test_log_medical_event_appends():
character = Character()
character.log_medical_event("Sprained left_leg")
assert character.medical_log == ["Sprained left_leg"]
def test_log_medical_event_keeps_insertion_order():
character = Character()
character.log_medical_event("first")
character.log_medical_event("second")
assert character.medical_log == ["first", "second"]
def test_log_medical_event_trims_oldest_past_the_cap():
character = Character()
for i in range(MAX_MEDICAL_LOG_ENTRIES + 5):
character.log_medical_event(f"event {i}")
assert len(character.medical_log) == MAX_MEDICAL_LOG_ENTRIES
assert character.medical_log[0] == "event 5"
assert character.medical_log[-1] == f"event {MAX_MEDICAL_LOG_ENTRIES + 4}"