Files
dcalc/backend/tests/unit/test_effect_apply.py
T

36 lines
767 B
Python

from core.basic.character.effect_apply import execute_effect, uppercase_attrs
class Source:
STR = 10
def __init__(self):
self.INT = 20
self.name = 'ignored'
class Effects:
def execture(self, key):
if key != 'known':
return None
def effect(target):
target.append(key)
return effect
def test_uppercase_attrs_returns_only_uppercase_instance_keys():
assert uppercase_attrs(Source()) == {'INT': 20}
def test_execute_effect_returns_false_for_missing_effect():
assert execute_effect(Effects(), 'missing', []) is False
def test_execute_effect_calls_existing_effect():
target = []
assert execute_effect(Effects(), 'known', target) is True
assert target == ['known']