Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
    def test_parse_empty_modifiers(self):
        paramlist = []
        modifiers = parse.modifiers(paramlist)

        assert isinstance(modifiers['bonuses'], list)
        assert isinstance(modifiers['penalties'], list)