コード例 #1
0
 def test_get_full_attack_adds_requested_attributes(self):
     fighter = Fighter(5)
     rogue = Rogue(16)
     strength = Attribute(Attribute.STRENGTH, 16)
     dexterity = Attribute(Attribute.DEXTERITY, 14)
     actor = Actor('Rogue Fighter', [strength, dexterity], [rogue, fighter])
     full_attack = actor.get_full_attack()
     self.assertEqual(len(full_attack), 4)
     self.assertEqual(full_attack[0].value, 20)
     self.assertEqual(
         '+12 from level 16 Rogue. +5 from level 5 Fighter. +3, Strength ability score of 16. ',
         full_attack[0].audit_explanation
     )
     self.assertEqual(full_attack[1].value, 15)
     self.assertEqual(
         'Additional attack split from base BAB at a +5 breakpoint. See first attack for full audit trail.',
         full_attack[1].audit_explanation
     )
     self.assertEqual(full_attack[2].value, 10)
     self.assertEqual(
         'Additional attack split from base BAB at a +5 breakpoint. See first attack for full audit trail.',
         full_attack[2].audit_explanation
     )
     self.assertEqual(full_attack[3].value, 5)
     self.assertEqual(
         'Additional attack split from base BAB at a +5 breakpoint. See first attack for full audit trail.',
         full_attack[3].audit_explanation
     )
コード例 #2
0
 def test_get_full_attack_returns_list_of_modifiers(self):
     fighter = Fighter(2)
     rogue = Rogue(19)
     actor = Actor('Rogue Fighter', [], [rogue, fighter])
     full_attack = actor.get_full_attack()
     self.assertEqual(4, len(full_attack))
     self.assertEqual(16, full_attack[0].value)
     self.assertEqual(
         '+14 from level 19 Rogue. +2 from level 2 Fighter. +0, Strength ability score of 10. ',
         full_attack[0].audit_explanation
     )
     self.assertEqual(full_attack[1].value, 11)
     self.assertEqual(
         'Additional attack split from base BAB at a +5 breakpoint. See first attack for full audit trail.',
         full_attack[1].audit_explanation
     )
     self.assertEqual(full_attack[2].value, 6)
     self.assertEqual(
         'Additional attack split from base BAB at a +5 breakpoint. See first attack for full audit trail.',
         full_attack[2].audit_explanation
     )
     self.assertEqual(full_attack[3].value, 1)
     self.assertEqual(
         'Additional attack split from base BAB at a +5 breakpoint. See first attack for full audit trail.',
         full_attack[3].audit_explanation
     )