Files
dungeon-sheets/tests/test_weapon.py
T

40 lines
1.5 KiB
Python

import unittest
from dungeonsheets.magic_items import MagicItem
from dungeonsheets.weapons import Weapon
class WeaponTestCase(unittest.TestCase):
def test_weapon_damage(self):
weapon = Weapon()
weapon.base_damage = "1d6"
self.assertEqual(weapon.damage, "1d6")
# Now add some bonus damage
weapon.damage_bonus = 2
self.assertEqual(weapon.damage, "1d6+2")
class MagicWeaponTestCase(unittest.TestCase):
"""Check that a magic weapon works as intended."""
def test_class_inheritance_weapon_first(self):
"""Test that the class inheritance works correctly for multiclassing."""
MagicWeapon = type("MagicWeapon", (Weapon, MagicItem),
dict(damage_bonus=2, attack_bonus=2,
st_bonus_all=3))
weapon = MagicWeapon(wielder=None)
# CHeck some weapon traits
self.assertEqual(weapon.damage, "1d4+2")
# Check some magic item traits
self.assertEqual(weapon.st_bonus_all, 3)
def test_class_inheritance_magic_item_first(self):
"""Test that the class inheritance works correctly for multiclassing."""
MagicWeapon = type("MagicWeapon", (MagicItem, Weapon),
dict(damage_bonus=2, attack_bonus=2,
st_bonus_all=3))
weapon = MagicWeapon(wielder=None)
# CHeck some weapon traits
self.assertEqual(weapon.damage, "1d4+2")
# Check some magic item traits
self.assertEqual(weapon.st_bonus_all, 3)