def test_st_bonus_all(self): char = Character() my_item = MyMagicItem(owner=char) char.magic_items = [my_item] # Test an item that confers no saving throw bonus bonus = my_item.st_bonus() self.assertEqual(bonus, 0) # Now test with positive ST bonus my_item.st_bonus_all = 2 bonus = my_item.st_bonus() self.assertEqual(bonus, 2)
def test_st_bonus_by_ability(self): char = Character(strength=10) my_item = MyMagicItem(owner=char) char.magic_items = [my_item] # Test an item with nonsense ability with self.assertRaises(AttributeError): my_item.st_bonus(ability="flight") # Test that the st_bonus_all is used if the specific ability is not listed my_item.st_bonus_all = 2 bonus = my_item.st_bonus(ability="strength") self.assertEqual(bonus, 2) # Test a specific st_bonus my_item.st_bonus_strength = 3 bonus = my_item.st_bonus(ability="strength") self.assertEqual(bonus, 3)