예제 #1
0
 def test_battle_you_lose_enemy_points_increase(self):
     self.main_hero = Hero("Naruto", 3, 100, 30)
     enemy = Hero("Sasuke", 3, 110, 30)
     self.main_hero.battle(enemy)
     self.assertEqual(4, enemy.level)
     self.assertEqual(25, enemy.health)
     self.assertEqual(35, enemy.damage)
예제 #2
0
 def test_battle_you_win_your_points_increase(self):
     self.main_hero = Hero("Naruto", 3, 100, 30)
     enemy = Hero("Sasuke", 3, 90, 30)
     self.assertEqual("You win", self.main_hero.battle(enemy))
     self.assertEqual(4, self.main_hero.level)
     self.assertEqual(15, self.main_hero.health)
     self.assertEqual(35, self.main_hero.damage)
예제 #3
0
 def test_battle_when_enemy_health_is_below_zero(self):
     enemy = Hero("Sasuke", 3, 30, 10)
     self.main_hero.battle(enemy)
     self.assertEqual(0, enemy.health)
     with self.assertRaises(Exception) as exc:
         self.main_hero.battle(enemy)
     self.assertEqual(
         f"You cannot fight {enemy.username}. He needs to rest",
         str(exc.exception))
예제 #4
0
 def test_battle_when_your_health_is_below_zero(self):
     enemy = Hero("Sasuke", 3, 90, 30)
     self.main_hero.battle(enemy)
     self.assertEqual(0, self.main_hero.health)
     with self.assertRaises(Exception) as exc:
         self.main_hero.battle(enemy)
     self.assertEqual(
         "Your health is lower than or equal to 0. You need to rest",
         str(exc.exception))
예제 #5
0
 def test_battle_if_you_lose(self):
     self.main_hero = Hero("Naruto", 3, 80, 30)
     enemy = Hero("Sasuke", 3, 100, 30)
     self.assertEqual("You lose", self.main_hero.battle(enemy))
예제 #6
0
 def setUp(self):
     self.main_hero = Hero("Naruto", 3, 90, 10)
예제 #7
0
 def test_battle_if_there_is_draw(self):
     self.main_hero = Hero("Naruto", 3, 90, 30)
     enemy = Hero("Sasuke", 3, 90, 30)
     self.assertEqual("Draw", self.main_hero.battle(enemy))
예제 #8
0
 def test_battle_if_health_decreases_when_in_battle(self):
     enemy = Hero("Sasuke", 4, 90, 10)
     self.main_hero.battle(enemy)
     self.assertEqual(50, self.main_hero.health)
     self.assertEqual(65, enemy.health)
예제 #9
0
 def test_battle_if_self_damage_and_enemy_damage_are_set_correctly(self):
     enemy = Hero("Sasuke", 4, 90, 10)
     self.assertEqual(30, self.main_hero.damage * self.main_hero.level)
     self.assertEqual(40, enemy.damage * enemy.level)
예제 #10
0
class TestHero(TestCase
               ):  #username: str, level: int, health: float, damage: float
    def setUp(self):
        self.main_hero = Hero("Naruto", 3, 90, 10)

    def test_instance_is_set(self):
        self.assertEqual("Naruto", self.main_hero.username)
        self.assertEqual(5, self.main_hero.level)
        self.assertEqual(100, self.main_hero.health)
        self.assertEqual(10, self.main_hero.damage)

    def test_battle_to_fight_with_yourself(self):
        enemy = Hero("Naruto", 3, 90, 10)
        with self.assertRaises(Exception) as exc:
            self.main_hero.battle(enemy)
        self.assertEqual(enemy.username, self.main_hero.username)
        self.assertEqual("You cannot fight yourself", str(exc.exception))

    def test_battle_when_your_health_is_below_zero(self):
        enemy = Hero("Sasuke", 3, 90, 30)
        self.main_hero.battle(enemy)
        self.assertEqual(0, self.main_hero.health)
        with self.assertRaises(Exception) as exc:
            self.main_hero.battle(enemy)
        self.assertEqual(
            "Your health is lower than or equal to 0. You need to rest",
            str(exc.exception))

    def test_battle_when_enemy_health_is_below_zero(self):
        enemy = Hero("Sasuke", 3, 30, 10)
        self.main_hero.battle(enemy)
        self.assertEqual(0, enemy.health)
        with self.assertRaises(Exception) as exc:
            self.main_hero.battle(enemy)
        self.assertEqual(
            f"You cannot fight {enemy.username}. He needs to rest",
            str(exc.exception))

    def test_battle_if_self_damage_and_enemy_damage_are_set_correctly(self):
        enemy = Hero("Sasuke", 4, 90, 10)
        self.assertEqual(30, self.main_hero.damage * self.main_hero.level)
        self.assertEqual(40, enemy.damage * enemy.level)

    def test_battle_if_health_decreases_when_in_battle(self):
        enemy = Hero("Sasuke", 4, 90, 10)
        self.main_hero.battle(enemy)
        self.assertEqual(50, self.main_hero.health)
        self.assertEqual(65, enemy.health)

    def test_battle_if_there_is_draw(self):
        self.main_hero = Hero("Naruto", 3, 90, 30)
        enemy = Hero("Sasuke", 3, 90, 30)
        self.assertEqual("Draw", self.main_hero.battle(enemy))

    def test_battle_if_you_win(self):
        self.main_hero = Hero("Naruto", 3, 100, 30)
        enemy = Hero("Sasuke", 3, 90, 30)
        self.assertEqual("You win", self.main_hero.battle(enemy))

    def test_battle_if_you_lose(self):
        self.main_hero = Hero("Naruto", 3, 80, 30)
        enemy = Hero("Sasuke", 3, 100, 30)
        self.assertEqual("You lose", self.main_hero.battle(enemy))

    def test_str_representation(self):
        self.assertEqual(
            f"Hero {self.main_hero.username}: {self.main_hero.level} lvl\n"
            f"Health: {self.main_hero.health}\n"
            f"Damage: {self.main_hero.damage}\n", self.main_hero.__str__())

    def test_battle_you_lose_enemy_points_increase(self):
        self.main_hero = Hero("Naruto", 3, 100, 30)
        enemy = Hero("Sasuke", 3, 110, 30)
        self.main_hero.battle(enemy)
        self.assertEqual(4, enemy.level)
        self.assertEqual(25, enemy.health)
        self.assertEqual(35, enemy.damage)

    def test_battle_you_win_your_points_increase(self):
        self.main_hero = Hero("Naruto", 3, 100, 30)
        enemy = Hero("Sasuke", 3, 90, 30)
        self.assertEqual("You win", self.main_hero.battle(enemy))
        self.assertEqual(4, self.main_hero.level)
        self.assertEqual(15, self.main_hero.health)
        self.assertEqual(35, self.main_hero.damage)
예제 #11
0
 def test_battle_to_fight_with_yourself(self):
     enemy = Hero("Naruto", 3, 90, 10)
     with self.assertRaises(Exception) as exc:
         self.main_hero.battle(enemy)
     self.assertEqual(enemy.username, self.main_hero.username)
     self.assertEqual("You cannot fight yourself", str(exc.exception))