mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-05-18 20:23:27 +02:00
40 lines
1.5 KiB
Python
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)
|