def test_statsowner_get_stats(): so = StatsOwner() s1 = Stat("str") s2 = Stat("int") so.add(s1) so.add(s2) assert s1 in so.stats and s2 in so.stats
def test_stat_scale_stat(): owner = StatsOwner() s1 = Stat("sta") s2 = Stat("hp") s1.value = 10 s2.base_value = 100 s2.scale_stat = "sta" s2.scale_method = s2.scale_flat s2.scale_amount = 10 owner.add([s1, s2]) owner.get("hp").update() assert s2.get_value() == 200
def test_build_stat(): import configparser rules = configparser.ConfigParser() rules.read("rules.cfg") rules["str"]["scale_method"] = "flat" d = parse_rules(rules) so = StatsOwner() so.load_rules(d) s = Stat("str") so.add(s) s = so.stat_objects["str"] assert s.scale_method == s.scale_flat
def test_statowner_no_duplicate(): s1 = Stat("int") s2 = Stat("int") so = StatsOwner() so.add([s1, s2]) assert len(so.stats) == 1
def test_statowner_add_multiple_stats(): s1 = Stat("int") s2 = Stat("str") so = StatsOwner() so.add([s1, s2]) assert s1 in so.stats and s2 in so.stats
def test_statowner_add_stat(): s = Stat("int") so = StatsOwner() so.add(s) assert s in so.stats