def test_will_play_multiple_correct_order(self): game = TestHelpers().make_game() game.players[0].hand = self.make_cards(ArgentSquire(), ArgentSquire(), ArgentSquire(), HarvestGolem()) game.players[0].mana = 3 game.players[0].max_mana = 3 game.play_single_turn() self.assert_minions(game.players[0], "Harvest Golem", "Argent Squire")
def test_will_use_entire_pool(self): game = TestHelpers().make_game() game.players[0].hand = self.make_cards(game.current_player, DireWolfAlpha(), DireWolfAlpha(), DireWolfAlpha(), HarvestGolem()) game.players[0].mana = 3 game.players[0].max_mana = 3 game.play_single_turn() self.assert_minions(game.players[0], "Dire Wolf Alpha", "Dire Wolf Alpha")
def test_simple_plays(self): game = TestHelpers().make_game() self.set_hand(game, 0, ArgentSquire(), DireWolfAlpha(), HarvestGolem()) game.play_single_turn() self.assert_minions(game.players[0], "Argent Squire") game.play_single_turn() game.play_single_turn() self.assert_minions(game.players[0], "Argent Squire", "Dire Wolf Alpha")
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)