def test_attribute_below_ten_returns_negative_modifier(self): attribute = Attribute(Attribute.STRENGTH, 1) self.assertEqual(attribute.get_attribute_modifier(), -5) attribute = Attribute(Attribute.STRENGTH, 6) self.assertEqual(attribute.get_attribute_modifier(), -2) attribute = Attribute(Attribute.STRENGTH, 7) self.assertEqual(attribute.get_attribute_modifier(), -2) attribute = Attribute(Attribute.STRENGTH, 9) self.assertEqual(attribute.get_attribute_modifier(), -1)
def test_attribute_above_eleven_returns_positive_modifier(self): attribute = Attribute(Attribute.STRENGTH, 12) self.assertEqual(attribute.get_attribute_modifier(), 1) attribute = Attribute(Attribute.STRENGTH, 13) self.assertEqual(attribute.get_attribute_modifier(), 1) attribute = Attribute(Attribute.STRENGTH, 14) self.assertEqual(attribute.get_attribute_modifier(), 2) attribute = Attribute(Attribute.STRENGTH, 45) self.assertEqual(attribute.get_attribute_modifier(), 17)
def test_will_save_combines_wisdom_and_class_bonus(self): wisdom = Attribute(Attribute.WISDOM, 21) rogue = Rogue(20) actor = Actor('Test Rogue With Rouge', [wisdom], [rogue]) self.assertEqual( rogue.get_will_save().value + wisdom.get_attribute_modifier().value, actor.get_will_save().value )
def test_reflex_save_combines_dexterity_and_class_bonus(self): dexterity = Attribute(Attribute.DEXTERITY, 13) rogue = Rogue(17) actor = Actor('Test Rogue With Rouge', [dexterity], [rogue]) self.assertEqual( rogue.get_reflex_save().value + dexterity.get_attribute_modifier().value, actor.get_reflex_save().value )
def test_fortitude_save_combines_constitution_and_class_bonus(self): constitution = Attribute(Attribute.CONSTITUTION, 17) rogue = Rogue(19) actor = Actor('Test Rogue With Rouge', [constitution], [rogue]) self.assertEqual( rogue.get_fortitude_save().value + constitution.get_attribute_modifier().value, actor.get_fortitude_save().value )
def test_will_save_includes_wisdom_bonus(self): wisdom = Attribute(Attribute.WISDOM, 24) actor = Actor('Test Actor Dude', [wisdom], []) self.assertEqual(wisdom.get_attribute_modifier().value, actor.get_will_save().value)
def test_reflex_save_includes_dexterity_bonus(self): dexterity = Attribute(Attribute.DEXTERITY, 13) actor = Actor('Test Actor Dude', [dexterity], []) self.assertEqual(dexterity.get_attribute_modifier().value, actor.get_reflex_save().value)
def test_fortitude_save_includes_constitution_bonus(self): constitution = Attribute(Attribute.CONSTITUTION, 19) actor = Actor('Test Actor Dude', [constitution], []) self.assertEqual(constitution.get_attribute_modifier().value, actor.get_fortitude_save().value)
def test_attribute_above_forty_five_treated_as_forty_five(self): attribute = Attribute(Attribute.STRENGTH, 56) self.assertEqual(attribute.get_attribute_modifier(), 17)
def test_attribute_above_nine_below_twelve_returns_zero_modifier(self): attribute = Attribute(Attribute.STRENGTH, 10) self.assertEqual(attribute.get_attribute_modifier(), 0) attribute = Attribute(Attribute.STRENGTH, 11) self.assertEqual(attribute.get_attribute_modifier(), 0)
def test_attribute_score_returns_correct_modifier(self): for attribute_values in self.get_negative_test_attribute_values(): for attribute_name in Attribute.ABILITY_SCORE_NAMES: attribute = Attribute(attribute_name, attribute_values[0]) self.assertEqual(attribute_values[1], attribute.get_attribute_modifier().value)
def test_attribute_get_modifier_returns_modifier_object(self): attribute = Attribute(Attribute.DEXTERITY, 32) self.assertEqual( '+11, Dexterity ability score of 32. ', attribute.get_attribute_modifier().audit_explanation )
def test_attribute_below_one_set_to_one(self): attribute = Attribute(Attribute.WISDOM, -15) self.assertEqual(-5, attribute.get_attribute_modifier().value)
def test_attribute_above_forty_five_set_to_forty_five(self): attribute = Attribute(Attribute.DEXTERITY, 56) self.assertEqual(17, attribute.get_attribute_modifier().value)