diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/enchantments/MindsDilationTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/enchantments/MindsDilationTest.java index c98508450a..5088a35ffd 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/enchantments/MindsDilationTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/enchantments/MindsDilationTest.java @@ -15,56 +15,56 @@ import org.mage.test.serverside.base.CardTestPlayerBase; * @author escplan9 (Derek Monturo - dmontur1 at gmail dot com) */ public class MindsDilationTest extends CardTestPlayerBase { - + @Test public void testExileNonLandCardAndCastIt() { - - removeAllCardsFromLibrary(playerA); - + /** - * Mind's Dilation {5}{U}{U} Enchantment - * Whenever an opponent casts his or her first spell each turn, that player exiles the top card of his or her library. - * If it's a nonland card, you may cast it without paying its mana cost. + * Mind's Dilation {5}{U}{U} Enchantment Whenever an opponent casts his + * or her first spell each turn, that player exiles the top card of his + * or her library. If it's a nonland card, you may cast it without + * paying its mana cost. */ - - addCard(Zone.BATTLEFIELD, playerB, "Mind's Dilation", 1); + addCard(Zone.BATTLEFIELD, playerB, "Mind's Dilation", 1); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1); addCard(Zone.HAND, playerA, "Lightning Bolt", 1); addCard(Zone.LIBRARY, playerA, "Divination", 1); // draw 2 cards - + + skipInitShuffling(); + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB); setChoice(playerB, "Yes"); - + setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); - + assertLife(playerB, 17); - assertExileCount("Divination", 1); + assertExileCount("Divination", 0); assertHandCount(playerB, 2); // free divination! } - + @Test public void testExileNonLandCardDontCastIt() { - + removeAllCardsFromLibrary(playerA); - + /** - * Mind's Dilation {5}{U}{U} Enchantment - * Whenever an opponent casts his or her first spell each turn, that player exiles the top card of his or her library. - * If it's a nonland card, you may cast it without paying its mana cost. + * Mind's Dilation {5}{U}{U} Enchantment Whenever an opponent casts his + * or her first spell each turn, that player exiles the top card of his + * or her library. If it's a nonland card, you may cast it without + * paying its mana cost. */ - - addCard(Zone.BATTLEFIELD, playerB, "Mind's Dilation", 1); + addCard(Zone.BATTLEFIELD, playerB, "Mind's Dilation", 1); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1); addCard(Zone.HAND, playerA, "Lightning Bolt", 1); addCard(Zone.LIBRARY, playerA, "Divination", 1); // draw 2 cards - + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB); setChoice(playerB, "No"); // no, I don't want my free 2 cards - + setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); - + assertLife(playerB, 17); assertExileCount("Divination", 1); assertHandCount(playerB, 0); // Divination never cast 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 44ce17cfbb..97c8323677 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 @@ -574,6 +574,9 @@ public class TestPlayer implements Player { i++; } } + if (modes.getMinModes() <= modes.getSelectedModes().size()) { + return null; + } return computerPlayer.chooseMode(modes, source, game); //To change body of generated methods, choose Tools | Templates. } @@ -1734,7 +1737,7 @@ public class TestPlayer implements Player { public boolean canPaySacrificeCost(Permanent permanent, UUID sourceId, UUID controllerId, Game game) { return computerPlayer.canPaySacrificeCost(permanent, sourceId, controllerId, game); } - + @Override public FilterPermanent getSacrificeCostFilter() { return computerPlayer.getSacrificeCostFilter();