diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/dies/BrainMaggotTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/dies/BrainMaggotTest.java index 16973a7acb..f77652b4dd 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/dies/BrainMaggotTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/dies/BrainMaggotTest.java @@ -1,4 +1,3 @@ - package org.mage.test.cards.triggers.dies; import mage.constants.PhaseStep; @@ -7,7 +6,6 @@ import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** - * * @author LevelX2 */ public class BrainMaggotTest extends CardTestPlayerBase { @@ -16,7 +14,6 @@ public class BrainMaggotTest extends CardTestPlayerBase { * When Brain Maggot enters the battlefield, target opponent reveals his or * her hand and you choose a nonland card from it. Exile that card until * Brain Maggot leaves the battlefield. - * */ @Test public void testCardFromHandWillBeExiled() { @@ -26,10 +23,12 @@ public class BrainMaggotTest extends CardTestPlayerBase { addCard(Zone.HAND, playerB, "Bloodflow Connoisseur", 1); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Brain Maggot"); - addTarget(playerA, "Bloodflow Connoisseur"); + addTarget(playerA, playerB); + setChoice(playerA, "Bloodflow Connoisseur"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); + assertAllCommandsUsed(); assertPermanentCount(playerA, "Brain Maggot", 1); assertExileCount("Bloodflow Connoisseur", 1); @@ -45,12 +44,22 @@ public class BrainMaggotTest extends CardTestPlayerBase { addCard(Zone.HAND, playerB, "Lightning Bolt", 1); addCard(Zone.BATTLEFIELD, playerB, "Mountain", 2); + // exile castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Brain Maggot"); - addTarget(playerA, "Bloodflow Connoisseur"); - castSpell(1, PhaseStep.BEGIN_COMBAT, playerB, "Lightning Bolt", "Brain Maggot"); + addTarget(playerA, playerB); + setChoice(playerA, "Bloodflow Connoisseur"); + showExile("exile", 1, PhaseStep.BEGIN_COMBAT, playerB); + checkExileCount("blood must be in exile", 1, PhaseStep.BEGIN_COMBAT, playerB, "Bloodflow Connoisseur", 1); - setStopAt(1, PhaseStep.DECLARE_ATTACKERS); + // return + castSpell(1, PhaseStep.END_COMBAT, playerB, "Lightning Bolt", "Brain Maggot"); + checkPermanentCount("brain must die", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Brain Maggot", 0); + checkExileCount("blood must return from exile", 1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Bloodflow Connoisseur", 0); + checkHandCardCount("blood must be in hand", 1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Bloodflow Connoisseur", 1); + + setStopAt(1, PhaseStep.END_TURN); execute(); + assertAllCommandsUsed(); assertGraveyardCount(playerA, "Brain Maggot", 1); assertGraveyardCount(playerB, "Lightning Bolt", 1); @@ -68,11 +77,14 @@ public class BrainMaggotTest extends CardTestPlayerBase { addCard(Zone.BATTLEFIELD, playerB, "Mountain", 2); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mesmeric Fiend"); - addTarget(playerA, "Bloodflow Connoisseur"); + addTarget(playerA, playerB); + setChoice(playerA, "Bloodflow Connoisseur"); + // castSpell(1, PhaseStep.BEGIN_COMBAT, playerB, "Lightning Bolt", "Mesmeric Fiend"); setStopAt(1, PhaseStep.DECLARE_ATTACKERS); execute(); + assertAllCommandsUsed(); assertGraveyardCount(playerA, "Mesmeric Fiend", 1); assertGraveyardCount(playerB, "Lightning Bolt", 1); diff --git a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java index 55a79d1781..6bb0eb3e8c 100644 --- a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java +++ b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java @@ -658,7 +658,9 @@ public class TestPlayer implements Player { // show exile if (params[0].equals(SHOW_COMMAND_EXILE) && params.length == 1) { printStart(action.getActionName()); - printCards(game.getExile().getAllCards(game)); + printCards(game.getExile().getAllCards(game).stream() + .filter(card -> card.isOwnedBy(computerPlayer.getId())) + .collect(Collectors.toList())); printEnd(); actions.remove(action); wasProccessed = true;