def test_archer_attacks_enemy(self): game = TestHelpers().make_game() self.set_hand(game, 0, ElvenArcher()) self.set_board(game, 0, Shieldbearer()) self.set_board(game, 1, BloodfenRaptor()) self.make_all_active(game) game.play_single_turn() self.assert_minions(game.players[0], "Shieldbearer", "Elven Archer") self.assertEqual(game.players[1].minions[0].health, 1)
def test_will_attack_face(self): game = TestHelpers().make_game() self.add_minions(game, 0, BloodfenRaptor()) self.make_all_active(game) game.play_single_turn() self.assert_minions(game.players[1]) self.assert_minions(game.players[0], "Bloodfen Raptor") self.assertEqual(27, game.players[1].hero.health)
def test_commando_attacks_enemy(self): game = TestHelpers().make_game() self.set_hand(game, 0, StormpikeCommando()) self.set_board(game, 0, Wisp()) self.set_board(game, 1, BloodfenRaptor()) self.set_mana(game, 0, 5) self.make_all_active(game) game.play_single_turn() self.assert_minions(game.players[0], "Wisp", "Stormpike Commando") self.assert_minions(game.players[1])
def test_cleric(self): game = TestHelpers().make_game() self.set_hand(game, 0, ShatteredSunCleric()) self.set_board(game, 0, Wisp()) self.set_board(game, 1, BloodfenRaptor()) self.set_mana(game, 0, 3) self.make_all_active(game) game.play_single_turn() self.assert_minions(game.players[0], "Shattered Sun Cleric") self.assert_minions(game.players[1])
def test_RandomAgent(self): deck1 = Deck([ GoldshireFootman(), GoldshireFootman(), MurlocRaider(), MurlocRaider(), BloodfenRaptor(), BloodfenRaptor(), FrostwolfGrunt(), FrostwolfGrunt(), RiverCrocolisk(), RiverCrocolisk(), IronfurGrizzly(), IronfurGrizzly(), MagmaRager(), MagmaRager(), SilverbackPatriarch(), SilverbackPatriarch(), ChillwindYeti(), ChillwindYeti(), KeeperOfTheGrove(), KeeperOfTheGrove(), SenjinShieldmasta(), SenjinShieldmasta(), BootyBayBodyguard(), BootyBayBodyguard(), FenCreeper(), FenCreeper(), BoulderfistOgre(), BoulderfistOgre(), WarGolem(), WarGolem(), ], Malfurion()) deck2 = Deck([ Shieldbearer(), Shieldbearer(), FlameImp(), FlameImp(), YoungPriestess(), YoungPriestess(), DarkIronDwarf(), DarkIronDwarf(), DireWolfAlpha(), DireWolfAlpha(), Voidwalker(), Voidwalker(), HarvestGolem(), HarvestGolem(), KnifeJuggler(), KnifeJuggler(), ShatteredSunCleric(), ShatteredSunCleric(), ArgentSquire(), ArgentSquire(), Doomguard(), Doomguard(), Soulfire(), Soulfire(), DefenderOfArgus(), DefenderOfArgus(), AbusiveSergeant(), AbusiveSergeant(), NerubianEgg(), NerubianEgg(), ], Guldan()) game = Game([deck1, deck2], [RandomAgent(), RandomAgent()]) game.pre_game() game.current_player = game.players[1] game.play_single_turn() self.assertEqual(0, len(game.current_player.minions)) game.play_single_turn() self.assertEqual(2, len(game.current_player.minions)) self.assertEqual(3, game.current_player.minions[1].health) self.assertEqual("Young Priestess", game.current_player.minions[0].card.name) game.play_single_turn() self.assertEqual(1, len(game.current_player.minions)) self.assertEqual("Frostwolf Grunt", game.current_player.minions[0].card.name) game.play_single_turn() self.assertEqual(0, len(game.other_player.minions)) self.assertEqual(28, game.other_player.hero.health) self.assertEqual(3, len(game.current_player.minions)) self.assertEqual("Dire Wolf Alpha", game.current_player.minions[2].card.name) for turn in range(0, 13): game.play_single_turn() self.assertFalse(game.game_ended) game.play_single_turn() self.assertEqual(0, game.current_player.hero.health) self.assertEqual(21, game.other_player.hero.health) self.assertTrue(game.game_ended)
def test_coin(self): cards = self.make_cards(ArgentSquire(), BloodfenRaptor(), TheCoin()) possible_plays = PossiblePlays(cards, 1) play = possible_plays.plays()[0] names = [c.name for c in play.cards] self.assertEqual(names, ["The Coin", "Bloodfen Raptor"])