def test_parse_modifiers(self): paramlist = ['+1+2-3', '-3-2+1'] modifiers = parse.modifiers(paramlist) bonuses = modifiers['bonuses'] penalties = modifiers['penalties'] assert all( [ [isinstance(bonus, int) for bonus in bonus_set] for bonus_set in bonuses ] ) assert all( [ [isinstance(penalty, int) for penalty in penalty_set] for penalty_set in penalties ] ) assert sum(bonuses[0]) == 3 assert sum(bonuses[1]) == 1 assert sum(penalties[0]) == 3 assert sum(penalties[1]) == 5
def test_action_roll(self): raw_multipliers = ['2', '1'] raw_die = ['d6', 'd20'] raw_modifiers = ['+1+2-3', '-3-2+1'] multipliers = parse.multipliers(raw_multipliers) die = parse.die(raw_die) modifiers = parse.modifiers(raw_modifiers) roll_results = roll(multipliers, die, modifiers['bonuses'], modifiers['penalties']) print roll_results
def test_parse_empty_modifiers(self): paramlist = [] modifiers = parse.modifiers(paramlist) assert isinstance(modifiers['bonuses'], list) assert isinstance(modifiers['penalties'], list)