Exemplo n.º 1
0
 def test_is_done(self):
     hero = Hero()
     beast = Beast()
     self.assertTrue(is_done(hero, beast, 25))
     self.assertFalse(is_done(hero, beast, 18))
     hero.health = -1
     self.assertTrue(is_done(hero, beast, 18))
     hero.health = 1
     beast.health = -2
     self.assertTrue(is_done(hero, beast, 18))
Exemplo n.º 2
0
    def test_lucky_dodge(self):
        hero = Hero()
        beast = Beast()

        initial_health = beast.health
        beast.luck = 100

        attack(hero, beast)

        self.assertEqual(initial_health, beast.health)
Exemplo n.º 3
0
    def test_dmg_to_be_done(self):
        hero = Hero()
        beast = Beast()

        hero.strength = 80
        initial_dmg = hero.damage_to_be_done
        beast.luck = 0

        attack(hero, beast)

        self.assertNotEqual(initial_dmg, hero.damage_to_be_done)
Exemplo n.º 4
0
    def test_attack(self):
        hero = Hero()
        beast = Beast()

        hero.strength = 80
        beast.luck = 0
        initial_health = beast.health

        attack(hero, beast)

        self.assertNotEqual(initial_health, beast.health)
Exemplo n.º 5
0
    def test_magic_shield_action(self):
        hero = Hero()
        beast = Beast()

        beast.luck = 0
        attack(hero, beast)
        initial_dmg_to_be_done = hero.damage_to_be_done
        self.assertTrue(initial_dmg_to_be_done > 0)

        magic_shield_action(hero, beast)

        self.assertTrue(hero.damage_to_be_done == initial_dmg_to_be_done // 2)
Exemplo n.º 6
0
class SkillsActionsTest(unittest.TestCase):
    mock = Mock()
    hero = Hero()
    beast = Beast()

    def test_magic_shield_action(self):
        hero = Hero()
        beast = Beast()

        beast.luck = 0
        attack(hero, beast)
        initial_dmg_to_be_done = hero.damage_to_be_done
        self.assertTrue(initial_dmg_to_be_done > 0)

        magic_shield_action(hero, beast)

        self.assertTrue(hero.damage_to_be_done == initial_dmg_to_be_done // 2)

    def test_rapid_strike_action(self):
        hero = Hero()
        beast = Beast()
        mock = Mock()
        expected = [attack(hero, beast)]
        mock.rapid_strike_action(hero, beast)
        mock.mock_calls == expected




        
Exemplo n.º 7
0
class TestBeast(unittest.TestCase):
    beast = Beast()

    def test_name(self):
        self.assertEqual(self.beast.name, 'Wild Beast')

    def test_attribute_health(self):
        self.assertTrue(self.beast.health >= 60 and self.beast.health <= 90)

    def test_attribute_strength(self):
        self.assertTrue(self.beast.strength >= 60 and self.beast.strength <= 90)

    def test_attribute_defence(self):
        self.assertTrue(self.beast.defence >= 40 and self.beast.defence <= 60)

    def test_attribute_speed(self):
        self.assertTrue(self.beast.speed >= 40 and self.beast.speed <= 60)

    def test_attribute_luck(self):
        self.assertTrue(self.beast.luck >= 25 and self.beast.luck <= 40)
    
    def test_offensive_skills(self):
        self.assertFalse(self.beast.offensive_skills)

    def test_defensive_skills(self):
        self.assertFalse(self.beast.defensive_skills)
Exemplo n.º 8
0
 def test_play_game(self):
     hero = Hero()
     beast = Beast()
     turn_number = 1
     mock = Mock()
     expected = [
         is_done(hero, beast, turn_number),
         load_round(),
         print_turn_number(turn_number),
         hero.do_skills(hero, beast, hero.offensive_skills, True),
         attack(hero, beast),
         beast.do_skills(beast, hero, beast.offensive_skills, True),
         attack(beast, hero)
     ]
     mock.play_game(hero, beast, turn_number)
     mock.mock_calls == expected
Exemplo n.º 9
0
    def test_damage_done(self):
        hero = Hero()
        beast = Beast()

        # as much as the beast has defence
        hero.strength = 40
        initial_health = beast.health

        attack(hero, beast)

        self.assertEqual(initial_health, beast.health)
Exemplo n.º 10
0
    def test_rapid_strike_action(self):
        hero = Hero()
        beast = Beast()
        mock = Mock()
        expected = [attack(hero, beast)]
        mock.rapid_strike_action(hero, beast)
        mock.mock_calls == expected




        
Exemplo n.º 11
0
from gameplay.actions import play_game
from characters.hero import Hero
from characters.beast import Beast
from gameplay.utils import declare_winner, game_intro

if __name__ == "__main__":
    '''
    create both the hero and the beast
    '''
    hero = Hero()
    beast = Beast()
    turn_number = 1

    # Just printing the introduction
    game_intro()

    print(hero)
    print(beast)

    # Check for the better speed or luck, if equal the hero will start
    if hero.speed > beast.speed:
        play_game(hero, beast, turn_number)
    elif beast.speed > hero.speed:
        play_game(beast, hero, turn_number)
    elif hero.luck >= beast.luck:
        play_game(hero, beast, turn_number)
    else:
        play_game(beast, hero, turn_number)

    declare_winner(hero, beast)
Exemplo n.º 12
0
class ActionTest(unittest.TestCase):
    hero = Hero()
    beast = Beast()

    def test_lucky_dodge(self):
        hero = Hero()
        beast = Beast()

        initial_health = beast.health
        beast.luck = 100

        attack(hero, beast)

        self.assertEqual(initial_health, beast.health)

    def test_damage_done(self):
        hero = Hero()
        beast = Beast()

        # as much as the beast has defence
        hero.strength = 40
        initial_health = beast.health

        attack(hero, beast)

        self.assertEqual(initial_health, beast.health)

    def test_attack(self):
        hero = Hero()
        beast = Beast()

        hero.strength = 80
        beast.luck = 0
        initial_health = beast.health

        attack(hero, beast)

        self.assertNotEqual(initial_health, beast.health)

    def test_dmg_to_be_done(self):
        hero = Hero()
        beast = Beast()

        hero.strength = 80
        initial_dmg = hero.damage_to_be_done
        beast.luck = 0

        attack(hero, beast)

        self.assertNotEqual(initial_dmg, hero.damage_to_be_done)

    def test_is_done(self):
        hero = Hero()
        beast = Beast()
        self.assertTrue(is_done(hero, beast, 25))
        self.assertFalse(is_done(hero, beast, 18))
        hero.health = -1
        self.assertTrue(is_done(hero, beast, 18))
        hero.health = 1
        beast.health = -2
        self.assertTrue(is_done(hero, beast, 18))

    def test_play_game(self):
        hero = Hero()
        beast = Beast()
        turn_number = 1
        mock = Mock()
        expected = [
            is_done(hero, beast, turn_number),
            load_round(),
            print_turn_number(turn_number),
            hero.do_skills(hero, beast, hero.offensive_skills, True),
            attack(hero, beast),
            beast.do_skills(beast, hero, beast.offensive_skills, True),
            attack(beast, hero)
        ]
        mock.play_game(hero, beast, turn_number)
        mock.mock_calls == expected