示例#1
0
def test_when_attack_is_a_natural_20_the_damage_is_doubled():
    attacker = Character("Jared")
    defender = Character("Robert")

    roll = 20
    battle.attack(roll, defender)
    assert defender.hit_points == 3
示例#2
0
def test_when_attack_is_successful_the_defender_takes_1_point_of_damage():
    attacker = Character("Jared")
    defender = Character("Robert")

    roll = 11
    battle.attack(roll, defender)
    assert defender.hit_points == 4
示例#3
0
def test_character_has_six_abilites_that_default_to_10():
    character = Character("Jared")

    assert character.strength == 10
    assert character.intelligence == 10
    assert character.wisdom == 10
    assert character.dexterity == 10
    assert character.constitution == 10
    assert character.charisma == 10
示例#4
0
 def test_name(self):
     # in this way the order of the parameters doesn't matters
     test_character = Character(in_name = "John")
     assert test_character.name == "John"
     test_character.name = "Walter"
     assert test_character.name == "Walter"
示例#5
0
    def test_aligment_negative(self):
        '''negative test for the character object'''

        test_character = Character(None)
        with pytest.raises(ValueError):
            test_character.alignment = "whatever"
示例#6
0
def test_character_with_positive_hit_points_is_alive():
    character = Character("Jared")
    character.hit_points = 1

    assert character.isdead() == False
示例#7
0
def test_character_with_less_than_zero_hit_points_is_alive():
    character = Character("Jared")
    character.hit_points = -1

    assert character.isdead()
示例#8
0
def test_character_with_zero_hit_points_is_dead():
    character = Character("Jared")
    character.hit_points = 0

    assert character.isdead()
示例#9
0
def test_character_has_five_hit_points_to_start():
    character = Character("Jared")

    assert character.hit_points == 5
示例#10
0
def test_character_has_default_armor_class():
    character = Character("Jared")
    assert character.armor_class == 10
示例#11
0
def test_character_is_good_by_default():
    character = Character("Tom")
    assert character.alignment == Alignment.Good
示例#12
0
def test_character_can_be_created():

    character = Character("Tom")

    assert character.name == "Tom"
示例#13
0
def test_character_can_change_alignment():

    character = Character("Jared", Alignment.Evil)
    character.alignment = Alignment.Neutral
    assert character.alignment == Alignment.Neutral
示例#14
0
def test_character_can_be_created_with_alignment():

    character = Character("Jared", Alignment.Evil)

    assert character.alignment == Alignment.Evil
示例#15
0
def test_character_can_change_their_name():

    character = Character("Tom")

    character.name = "Michael"
    assert character.name == "Michael"
示例#16
0
def test_character_must_beat_armor_class_to_hit_opponent():
    attacker = Character("Jared")
    defender = Character("Robert")

    roll = 11
    assert battle.attack(roll, defender)