def test_MarkOfNature(self): deck1 = StackedDeck([StonetuskBoar(), StonetuskBoar(), MarkOfNature()], CHARACTER_CLASS.DRUID) deck2 = StackedDeck([StonetuskBoar()], CHARACTER_CLASS.MAGE) game = Game([deck1, deck2], [MinionPlayingAgent(), MinionPlayingAgent()]) game.current_player = 1 game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() self.assertEqual(5, game.other_player.minions[0].calculate_attack()) deck1 = StackedDeck([StonetuskBoar(), StonetuskBoar(), MarkOfNature()], CHARACTER_CLASS.DRUID) deck2 = StackedDeck([StonetuskBoar()], CHARACTER_CLASS.MAGE) agent = MinionPlayingAgent() agent.choose_option = lambda *options: options[1] game = Game([deck1, deck2], [agent, MinionPlayingAgent()]) game.current_player = 1 game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() self.assertEqual(5, game.other_player.minions[0].calculate_max_health()) self.assertEqual(5, game.other_player.minions[0].health) self.assertTrue(game.other_player.minions[0].taunt)
def test_PowerOfTheWild(self): deck1 = StackedDeck( [StonetuskBoar(), StonetuskBoar(), PowerOfTheWild()], CHARACTER_CLASS.DRUID) deck2 = StackedDeck([StonetuskBoar()], CHARACTER_CLASS.MAGE) # This is a test of the +1/+1 option of the Power Of the Wild Card game = Game( [deck1, deck2], [MinionPlayingAgent(), MinionPlayingAgent()]) game.current_player = game.players[1] game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() self.assertEqual(2, game.current_player.minions[0].calculate_attack()) self.assertEqual(2, game.current_player.minions[0].health) self.assertEqual(2, game.current_player.minions[0].calculate_max_health()) self.assertEqual(2, game.current_player.minions[1].calculate_attack()) self.assertEqual(2, game.current_player.minions[1].calculate_max_health()) # This is a test of the "Summon Panther" option of the Power of the Wild Card agent = MinionPlayingAgent() agent.choose_option = mock.Mock( side_effect=lambda *options: options[1]) deck1 = StackedDeck( [StonetuskBoar(), StonetuskBoar(), PowerOfTheWild()], CHARACTER_CLASS.DRUID) deck2 = StackedDeck([StonetuskBoar()], CHARACTER_CLASS.MAGE) game = Game([deck1, deck2], [agent, MinionPlayingAgent()]) game.current_player = game.players[1] game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() self.assertEqual( "Panther", game.current_player.minions[2].card.__class__.__name__) self.assertEqual(3, game.current_player.minions[2].calculate_attack()) self.assertEqual(2, game.current_player.minions[2].calculate_max_health())
def test_PowerOfTheWild(self): deck1 = StackedDeck([StonetuskBoar(), StonetuskBoar(), PowerOfTheWild()], CHARACTER_CLASS.DRUID) deck2 = StackedDeck([StonetuskBoar()], CHARACTER_CLASS.MAGE) # This is a test of the +1/+1 option of the Power Of the Wild Card game = Game([deck1, deck2], [MinionPlayingAgent(), MinionPlayingAgent()]) game.current_player = game.players[1] game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() self.assertEqual(2, game.current_player.minions[0].calculate_attack()) self.assertEqual(2, game.current_player.minions[0].health) self.assertEqual(2, game.current_player.minions[0].calculate_max_health()) self.assertEqual(2, game.current_player.minions[1].calculate_attack()) self.assertEqual(2, game.current_player.minions[1].calculate_max_health()) # This is a test of the "Summon Panther" option of the Power of the Wild Card agent = MinionPlayingAgent() agent.choose_option = mock.Mock(side_effect=lambda *options: options[1]) deck1 = StackedDeck([StonetuskBoar(), StonetuskBoar(), PowerOfTheWild()], CHARACTER_CLASS.DRUID) deck2 = StackedDeck([StonetuskBoar()], CHARACTER_CLASS.MAGE) game = Game([deck1, deck2], [agent, MinionPlayingAgent()]) game.current_player = game.players[1] game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() self.assertEqual("Panther", game.current_player.minions[2].card.__class__.__name__) self.assertEqual(3, game.current_player.minions[2].calculate_attack()) self.assertEqual(2, game.current_player.minions[2].calculate_max_health())
def test_MarkOfNature(self): deck1 = StackedDeck( [StonetuskBoar(), StonetuskBoar(), MarkOfNature()], CHARACTER_CLASS.DRUID) deck2 = StackedDeck([StonetuskBoar()], CHARACTER_CLASS.MAGE) game = Game( [deck1, deck2], [MinionPlayingAgent(), MinionPlayingAgent()]) game.current_player = 1 game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() self.assertEqual(5, game.other_player.minions[0].calculate_attack()) deck1 = StackedDeck( [StonetuskBoar(), StonetuskBoar(), MarkOfNature()], CHARACTER_CLASS.DRUID) deck2 = StackedDeck([StonetuskBoar()], CHARACTER_CLASS.MAGE) agent = MinionPlayingAgent() agent.choose_option = lambda *options: options[1] game = Game([deck1, deck2], [agent, MinionPlayingAgent()]) game.current_player = 1 game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() game.play_single_turn() self.assertEqual(5, game.other_player.minions[0].calculate_max_health()) self.assertEqual(5, game.other_player.minions[0].health) self.assertTrue(game.other_player.minions[0].taunt)