diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/ChooseTargetTest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/ChooseTargetTest.java index 5c54ef6cb492..ff51891b8bc4 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/ChooseTargetTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/ChooseTargetTest.java @@ -45,7 +45,7 @@ public void test_chooseTargetCard_AI() { //setChoice(playerB, "Silvercoat Lion"); //setChoice(playerA, true); - //setStrictChooseMode(true); + setStrictChooseMode(false); setStopAt(2, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/CopyAITest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/CopyAITest.java index 061c89e8cb78..26de90fd89f8 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/CopyAITest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/CopyAITest.java @@ -167,7 +167,7 @@ public void test_CopyTarget_AI_Response_MostValueableFromOwn() { //addTarget(playerA, "Spectral Bears"); // AI must choose setStopAt(1, PhaseStep.END_TURN); - //setStrictChooseMode(true); // AI must choose + setStrictChooseMode(false); // AI must choose execute(); assertPermanentCount(playerA, "Spectral Bears", 1); @@ -191,7 +191,7 @@ public void test_CopyTarget_AI_Response_MostValueableFromOpponent() { //addTarget(playerA, "Spectral Bears"); // AI must choose setStopAt(1, PhaseStep.END_TURN); - //setStrictChooseMode(true); // AI must choose + setStrictChooseMode(false); // AI must choose execute(); assertPermanentCount(playerA, "Spectral Bears", 1); diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/ExileTargetTest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/ExileTargetTest.java index cc02f597c4d1..d799dbb97458 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/ExileTargetTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/ExileTargetTest.java @@ -28,7 +28,7 @@ public void test_chooseOpponentTargets() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Oblivion Ring"); //addTarget(playerA, "Balduvian Bears"); // disable to activate AI target choose - //setStrictChooseMode(true); // disable strict mode to activate AI for choosing + setStrictChooseMode(false); // disable strict mode to activate AI for choosing setStopAt(1, PhaseStep.END_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetAmountAITest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetAmountAITest.java index ca5169e0adf5..cb24db3af3d0 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetAmountAITest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetAmountAITest.java @@ -23,7 +23,7 @@ public void test_AI_ChooseTargets() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Blessings of Nature"); setStopAt(1, PhaseStep.END_TURN); - //setStrictChooseMode(true); // ai must choose + setStrictChooseMode(false); // ai must choose execute(); assertPowerToughness(playerA, "Balduvian Bears", 2 + 4, 2 + 4); // boost one creature (it's just a choose code, so can be different from simulation results) diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetControllerChangeTest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetControllerChangeTest.java index 397540b54835..344b00db1340 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetControllerChangeTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetControllerChangeTest.java @@ -48,7 +48,7 @@ public void test_OpponentMakeChooseInsteadPlayer_AI() { // //addTarget(playerB, "Balduvian Bears"); // give small bear to A - AI must choose itself - //setStrictChooseMode(true); // AI must choose + setStrictChooseMode(false); // AI must choose setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetPriorityTest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetPriorityTest.java index 38143c2db0d7..d84216dc63ce 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetPriorityTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetPriorityTest.java @@ -112,7 +112,7 @@ public void test_target_KillCreatureNotDamage() { checkPermanentCounters("counters", 1, PhaseStep.BEGIN_COMBAT, playerB, "Balduvian Bears", CounterType.P1P1, 2); // AI cast avatar on turn 3 and target 1 creature to kil by 3 damage - //setStrictChooseMode(true); // AI + setStrictChooseMode(false); // AI setStopAt(3, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetRequiredTest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetRequiredTest.java index 6ccaf8b8cdff..f392ad390a9e 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetRequiredTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetRequiredTest.java @@ -47,7 +47,7 @@ public void test_chooseBadTargetOnSacrifice_WithTargets_AI() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Redcap Melee", "Silvercoat Lion"); //addTarget(playerA, "Mountain"); AI must select targets - //setStrictChooseMode(true); AI must select targets + setStrictChooseMode(false); // AI must select targets setStopAt(1, PhaseStep.END_TURN); execute(); @@ -87,7 +87,7 @@ public void test_chooseBadTargetOnSacrifice_WithoutTargets_AI() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Redcap Melee", "Silvercoat Lion"); //addTarget(playerA, "Mountain"); no lands to sacrifice - //setStrictChooseMode(true); + setStrictChooseMode(false); setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetStackObjectByAITest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetStackObjectByAITest.java index d258cfc28e9a..7aa306784378 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetStackObjectByAITest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetStackObjectByAITest.java @@ -61,7 +61,7 @@ public void test_TargetStack_ChooseByAI() { //setChoice(playerB, "Swamp"); // discard setStopAt(1, PhaseStep.END_TURN); - //setStrictChooseMode(true); // AI must choose + setStrictChooseMode(false); // AI must choose execute(); assertGraveyardCount(playerB, "Grizzly Bears", 0); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/activated/PutToGraveyardTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/activated/PutToGraveyardTest.java index 9372ddc7bd91..e2658687ee2b 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/activated/PutToGraveyardTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/activated/PutToGraveyardTest.java @@ -66,6 +66,7 @@ public void testExileToGraveyard2() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Swords to Plowshares", "Silvercoat Lion"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}"); + addTarget(playerA, "Silvercoat Lion"); setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/activated/ReturnToHandTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/activated/ReturnToHandTest.java index a0eba9975d90..db7abfe2c71d 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/activated/ReturnToHandTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/activated/ReturnToHandTest.java @@ -58,8 +58,9 @@ public void VeilbornGhoulTest1() { addCard(Zone.HAND, playerA, "Swamp"); playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Swamp"); - setStopAt(1, PhaseStep.BEGIN_COMBAT); + setChoice(playerA, true); + setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); assertPermanentCount(playerA, "Swamp", 1); @@ -82,8 +83,9 @@ public void VeilbornGhoulTest2() { addCard(Zone.BATTLEFIELD, playerA, "Urborg, Tomb of Yawgmoth", 1); playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flood Plain"); - setStopAt(1, PhaseStep.BEGIN_COMBAT); + setChoice(playerA, true); + setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); assertPermanentCount(playerA, "Flood Plain", 1); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/curses/CursesTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/curses/CursesTest.java index f8ded2e7f779..dd6646aec4a4 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/curses/CursesTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/curses/CursesTest.java @@ -50,6 +50,7 @@ public void testCurseOfEchoes() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Curse of Echoes", playerB); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Jace's Ingenuity"); + setChoice(playerA, true); // yes to copy setStopAt(1, PhaseStep.END_TURN); execute(); @@ -118,7 +119,7 @@ public void testCurseOfExhaustion3() { castSpell(4, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB); castSpell(4, PhaseStep.PRECOMBAT_MAIN, playerB, "Copy Enchantment"); - // Choices for Copy Enchantment get auto-chosen + setStrictChooseMode(false); // auto choose checkPlayableAbility("Can't cast a 2nd spell", 4, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cast Lightning", false); @@ -211,6 +212,8 @@ public void testCurseOfMisfortune1() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Curse of Misfortunes", playerB); + setStrictChooseMode(false); // auto choose, not valid choice since same name + setStopAt(3, PhaseStep.DRAW); execute(); @@ -228,6 +231,9 @@ public void testCurseOfMisfortune2() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Curse of Misfortunes", playerB); + setChoice(playerA, true); + addTarget(playerA, "Curse of Bloodletting"); + setStopAt(3, PhaseStep.DRAW); execute(); @@ -247,6 +253,7 @@ public void testCurseOfDeathsHold() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Curse of Death's Hold", playerB); + setStrictChooseMode(true); setStopAt(1, PhaseStep.END_COMBAT); execute(); @@ -273,12 +280,15 @@ public void testCurseOfDeathsHold2() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Curse of Death's Hold", playerB); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Reclamation Sage"); + setChoice(playerB, true); // yes to destroy artifact or enchantment addTarget(playerB, "Curse of Death's Hold"); // {2}{G/U}{G/U}: Put the top two cards of your library into your graveyard, then return a nonland card of an opponent's choice from your graveyard to your hand. activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}{G/U}{G/U}: Mill two cards"); + addTarget(playerB, "Curse of Death's Hold"); // opponent's choice castSpell(3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Curse of Death's Hold", playerB); + setStrictChooseMode(true); setStopAt(3, PhaseStep.END_TURN); execute(); @@ -345,6 +355,7 @@ public void cruelRealityOnlyHasCreatureNoChoiceMade() { addCard(Zone.BATTLEFIELD, playerB, memnite); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, cReality, playerB); + setChoice(playerB, memnite); setStopAt(2, PhaseStep.PRECOMBAT_MAIN); execute(); @@ -363,6 +374,7 @@ public void cruelRealityOnlyHasPwNoChoiceMade() { addCard(Zone.BATTLEFIELD, playerB, ugin); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, cReality, playerB); + setChoice(playerB, ugin); setStopAt(2, PhaseStep.PRECOMBAT_MAIN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/AugurOfBolasTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/AugurOfBolasTest.java index d95bfe3cd6dd..6d39d2305523 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/AugurOfBolasTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/AugurOfBolasTest.java @@ -11,16 +11,8 @@ */ public class AugurOfBolasTest extends CardTestPlayerBase { - /* - Aether Figment {1}{U} - Creature - Illusion - 1/1 - Kicker {3} (You may pay an additional as you cast this spell.) - Aether Figment can't be blocked. - If Aether Figment was kicked, it enters with two +1/+1 counters on it. - */ @Test - public void testEnteringWithCounters() { + public void testAbility() { addCard(Zone.LIBRARY, playerA, "Lightning Bolt", 3); skipInitShuffling(); addCard(Zone.BATTLEFIELD, playerA, "Island", 2); @@ -29,7 +21,11 @@ public void testEnteringWithCounters() { addCard(Zone.HAND, playerA, "Augur of Bolas"); // Creature {1}{U} castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Augur of Bolas"); + setChoice(playerA, true); + addTarget(playerA, "Lightning Bolt"); // to hand + setChoice(playerA, "Lightning Bolt"); // order to bottom + setStrictChooseMode(true); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/BronzehideLionTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/BronzehideLionTest.java index ad92bd913590..658beee2c13b 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/BronzehideLionTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/BronzehideLionTest.java @@ -24,6 +24,8 @@ public void returnAsAura(){ addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Terror", lion); + setChoice(playerA, "Grizzly Bears"); // to enchant + setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); assertGraveyardCount(playerA, lion, 0); @@ -39,6 +41,7 @@ public void stayInGraveyard(){ addCard(Zone.BATTLEFIELD, playerA, "Swamp", 10); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Terror", lion); + setStrictChooseMode(false); // auto choose, no legal target setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); assertGraveyardCount(playerA, lion, 1); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/GreenbeltRampagerTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/GreenbeltRampagerTest.java index 179785970066..37c9f708211b 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/GreenbeltRampagerTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/GreenbeltRampagerTest.java @@ -76,6 +76,7 @@ public void testCastNotOwned() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gonti, Lord of Luxury", true); // addTarget(playerA, playerB); playerB is autochosen since only option + setStrictChooseMode(false); setChoice(playerA, "Greenbelt Rampager"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Greenbelt Rampager"); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/MasterBiomancerTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/MasterBiomancerTest.java index 36b1a9f4bf15..06a1e033ef72 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/MasterBiomancerTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/MasterBiomancerTest.java @@ -98,6 +98,9 @@ public void testWithProgenitorMimic() { addCard(Zone.HAND, playerA, "Progenitor Mimic"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Progenitor Mimic"); + setChoice(playerA, true); // yes to copy + setChoice(playerA, "Master Biomancer"); + setStrictChooseMode(false); // something weird with replacement effect ordering? setStopAt(3, PhaseStep.PRECOMBAT_MAIN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/ProteanHydraTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/ProteanHydraTest.java index 4fd8c979fab4..17a56f1223a0 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/ProteanHydraTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/ProteanHydraTest.java @@ -23,6 +23,7 @@ public void testEnteringWithCounters() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Protean Hydra"); + setStrictChooseMode(false); // test AI use max for X setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/SkylineCascadeTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/SkylineCascadeTest.java index c4385d809200..a0c5bc50d5b2 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/SkylineCascadeTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/SkylineCascadeTest.java @@ -12,7 +12,6 @@ public class SkylineCascadeTest extends CardTestPlayerBase { /** * Reported bug on Skyline Cascade not working properly. - * * Test the typical situation - tapped creature not being able to untap during next untap step. */ @Test @@ -31,10 +30,10 @@ public void testPreventsTappedCreatureUntapping() { attack(1, playerA, "Savannah Lions"); playLand(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Skyline Cascade"); - // Savannah Lions is autochosen + addTarget(playerB, "Savannah Lions"); + setStrictChooseMode(true); setStopAt(3, PhaseStep.PRECOMBAT_MAIN); - execute(); assertTapped("Savannah Lions", true); @@ -56,7 +55,7 @@ public void testDoesNotStopUntappedCreatureUntapping() { // {W} 2/1 addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions"); - /** + /* * Skyline Cascade enters the battlefield tapped. * When Skyline Cascade enters the battlefield, target creature an opponent controls doesn't untap during its controller's next untap step. * Tap: Add {U} . @@ -64,13 +63,13 @@ public void testDoesNotStopUntappedCreatureUntapping() { addCard(Zone.HAND, playerB, "Skyline Cascade"); playLand(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Skyline Cascade"); - // Savannah Lions is autochosen - + addTarget(playerB, "Savannah Lions"); + + setStrictChooseMode(true); setStopAt(3, PhaseStep.PRECOMBAT_MAIN); - execute(); assertTapped("Savannah Lions", false); assertTapped("Skyline Cascade", true); } -} \ No newline at end of file +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/ValakutTheMoltenPinnacleTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/ValakutTheMoltenPinnacleTest.java index e48ceab390b2..68dc852d72ad 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/ValakutTheMoltenPinnacleTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/ValakutTheMoltenPinnacleTest.java @@ -41,6 +41,8 @@ public void fiveMountainsDamageToPlayerB() { addCard(Zone.BATTLEFIELD, playerA, "Mountain", 5); playLand(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Mountain"); // 3 damage because already 5 Mountains on battlefield + setChoice(playerA, true); // yes to deal damage + addTarget(playerA, playerB); // to deal damage setStopAt(3, PhaseStep.BEGIN_COMBAT); execute(); @@ -66,6 +68,10 @@ public void sixEnterWithScapeshiftDamageToPlayerB() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Scapeshift"); setChoice(playerA, "Forest^Forest^Forest^Forest^Forest^Forest"); + addTarget(playerA, "Mountain^Mountain^Mountain^Mountain^Mountain^Mountain"); + setChoice(playerA, "Whenever", 5); // order triggers + setChoice(playerA, true, 6); // yes to deal damage + addTarget(playerA, playerB, 6); // to deal damage setStopAt(3, PhaseStep.BEGIN_COMBAT); execute(); @@ -89,6 +95,10 @@ public void sixAndValakutEnterWithScapeshiftDamageToPlayerB() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Scapeshift"); setChoice(playerA, "Forest^Forest^Forest^Forest^Forest^Forest^Forest"); + addTarget(playerA, "Mountain^Mountain^Mountain^Mountain^Mountain^Mountain^Valakut, the Molten Pinnacle"); + setChoice(playerA, "Whenever", 5); // order triggers + setChoice(playerA, true, 6); // yes to deal damage + addTarget(playerA, playerB, 6); // to deal damage setStopAt(3, PhaseStep.BEGIN_COMBAT); execute(); @@ -114,9 +124,13 @@ public void sixWithShocklandsAndValakutEnterWithScapeshiftDamageToPlayerB() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Scapeshift"); setChoice(playerA, "Forest^Forest^Forest^Forest^Forest^Forest^Forest"); + addTarget(playerA, "Mountain^Mountain^Mountain^Stomping Ground^Stomping Ground^Stomping Ground^Valakut, the Molten Pinnacle"); setChoice(playerA, false); // Stomping Ground can be tapped setChoice(playerA, false); // Stomping Ground can be tapped setChoice(playerA, false); // Stomping Ground can be tapped + setChoice(playerA, "Whenever", 5); // order triggers + setChoice(playerA, true, 6); // yes to deal damage + addTarget(playerA, playerB, 6); // to deal damage setStopAt(3, PhaseStep.BEGIN_COMBAT); execute(); @@ -153,6 +167,7 @@ public void withPrismaticOmen() { playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Forest"); addTarget(playerA, playerB); + setStrictChooseMode(false); // auto-choose setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/flicker/CloudshiftTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/flicker/CloudshiftTest.java index 17970afc85d0..e931e4a92350 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/flicker/CloudshiftTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/flicker/CloudshiftTest.java @@ -61,8 +61,10 @@ public void testCopyEffectDiscarded() { addCard(Zone.HAND, playerA, "Cloudshift"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone"); + setChoice(playerA, true); // Use Clone's ability setChoice(playerA, "Knight of Meadowgrain"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cloudshift", "Knight of Meadowgrain"); // clone has name of copied permanent + setChoice(playerA, true); // Use Clone's ability setChoice(playerA, "Heirs of Stromkirk"); setStopAt(1, PhaseStep.END_TURN); @@ -120,6 +122,7 @@ public void testCreatureCanBlockAgainAfterCloudshift() { addTarget(playerB, "Timberland Guide"); attack(2, playerB, "Fervent Cathar"); castSpell(2, PhaseStep.DECLARE_ATTACKERS, playerA, "Cloudshift", "Timberland Guide"); + addTarget(playerA, "Timberland Guide"); // where to put counter block(2, playerA, "Timberland Guide", "Fervent Cathar"); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); @@ -314,8 +317,10 @@ public void testReturnOfOwnerIsAnotherPlayerConjurersCloset() { addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Act of Treason", "Silvercoat Lion"); - // Silvercoat Lion is autochosen + setChoice(playerA, true); // yes to flicker + addTarget(playerA, "Silvercoat Lion"); + setStrictChooseMode(true); setStopAt(2, PhaseStep.PRECOMBAT_MAIN); execute(); @@ -356,6 +361,7 @@ public void testDoubleFlickerwisp() { castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Flickerwisp"); addTarget(playerA, "Flickerwisp"); addTarget(playerA, "Courser of Kruphix"); + setChoice(playerA, "At the beginning"); // order triggers setStopAt(2, PhaseStep.PRECOMBAT_MAIN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/AuraSwapTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/AuraSwapTest.java index 3d62b1337079..290c525328bb 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/AuraSwapTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/AuraSwapTest.java @@ -36,6 +36,7 @@ public void testAuraSwap1() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Arcanum Wings", "Silvercoat Lion"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Aura swap"); + setChoice(playerA, "Eldrazi Conscription"); setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/AwakenTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/AwakenTest.java index 2f7646ecd7c2..db7eaa6e29f0 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/AwakenTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/AwakenTest.java @@ -38,8 +38,7 @@ public void testCastWithAwaken() { */ @Test public void testShamblingVentAndAnimation() { - addCard(Zone.BATTLEFIELD, playerA, "Island", 5); - addCard(Zone.BATTLEFIELD, playerA, "Chromatic Lantern", 1); + addCard(Zone.BATTLEFIELD, playerA, "Underground Sea", 5); // Shambling Vent enters the battlefield tapped. // {T}: Add {W} or {B}. // {1}{W}{B}: Shambling Vent becomes a 2/3 white and black Elemental creature with lifelink until end of turn. It's still a land. @@ -69,7 +68,6 @@ public void testShamblingVentAndAnimation() { @Test public void testShamblingVent() { addCard(Zone.BATTLEFIELD, playerA, "Island", 5); - addCard(Zone.BATTLEFIELD, playerA, "Chromatic Lantern", 1); // Shambling Vent enters the battlefield tapped. // {T}: Add {W} or {B}. // {1}{W}{B}: Shambling Vent becomes a 2/3 white and black Elemental creature with lifelink until end of turn. It's still a land. diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BattleCryTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BattleCryTest.java index 33df733c3f4b..90b93c2bec18 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BattleCryTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BattleCryTest.java @@ -1,5 +1,3 @@ - - package org.mage.test.cards.abilities.keywords; import mage.constants.PhaseStep; @@ -34,6 +32,7 @@ public void testBoostDurationUntilEndTurn() { attack(2, playerB, "Signal Pest"); attack(2, playerB, "Signal Pest"); attack(2, playerB, "Signal Pest"); + setChoice(playerB, "Battle cry", 2); // order triggers setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); execute(); @@ -56,6 +55,7 @@ public void testBoostDurationNotNextTurn() { attack(2, playerB, "Signal Pest"); attack(2, playerB, "Signal Pest"); attack(2, playerB, "Signal Pest"); + setChoice(playerB, "Battle cry", 2); // order triggers setStopAt(3, PhaseStep.UPKEEP); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BushidoTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BushidoTest.java index c50854e0f9b0..d3c9cbd45a4d 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BushidoTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BushidoTest.java @@ -52,18 +52,20 @@ public void testBlocking() { @Test public void testMultipleBlocker() { addCard(Zone.BATTLEFIELD, playerA, "Llanowar Elves", 1); - addCard(Zone.BATTLEFIELD, playerA, "Quirion Elves", 1); + addCard(Zone.BATTLEFIELD, playerA, "Elvish Mystic", 1); addCard(Zone.BATTLEFIELD, playerB, "Isao, Enlightened Bushi"); // 2/1 Bushido 2 attack(2, playerB, "Isao, Enlightened Bushi"); block(2, playerA, "Llanowar Elves", "Isao, Enlightened Bushi"); - block(2, playerA, "Quirion Elves", "Isao, Enlightened Bushi"); + block(2, playerA, "Elvish Mystic", "Isao, Enlightened Bushi"); + setChoice(playerB, "X=1"); // assign damage + setChoice(playerB, "X=1"); // assign damage setStopAt(2, PhaseStep.END_COMBAT); execute(); assertPowerToughness(playerB, "Isao, Enlightened Bushi", 4, 3); assertPermanentCount(playerA, "Llanowar Elves", 0); - assertPermanentCount(playerA, "Quirion Elves", 0); + assertPermanentCount(playerA, "Elvish Mystic", 0); } } diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BuybackTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BuybackTest.java index 66f01d6b66e7..b10d46141657 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BuybackTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BuybackTest.java @@ -45,7 +45,7 @@ public void testNormal_AI() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elvish Fury", "Silvercoat Lion"); //setChoice(playerA, true); // use buyback - AI must choose - //setStrictChooseMode(true); - AI must choose + setStrictChooseMode(false); // - AI must choose setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); @@ -75,6 +75,7 @@ public void testBuybackSpellFizzles() { addCard(Zone.HAND, playerB, "Boomerang", 1); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elvish Fury", "Silvercoat Lion"); + setChoice(playerA, true); // use buyback castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Boomerang", "Silvercoat Lion", "Elvish Fury"); setStopAt(1, PhaseStep.BEGIN_COMBAT); @@ -98,6 +99,7 @@ public void testBuybackSpellWasCountered() { addCard(Zone.HAND, playerB, "Counterspell", 1); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elvish Fury", "Silvercoat Lion"); + setChoice(playerA, true); // use buyback castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Counterspell", "Elvish Fury", "Elvish Fury"); setStopAt(1, PhaseStep.BEGIN_COMBAT); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CascadeTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CascadeTest.java index 29642c9a6a86..5da3f77d6a5d 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CascadeTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CascadeTest.java @@ -36,6 +36,7 @@ public void testGainsCascade() { addCard(Zone.LIBRARY, playerA, "Sejiri Merfolk"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Predatory Advantage"); + setChoice(playerA, true); // yes to cast setStopAt(2, PhaseStep.END_TURN); execute(); @@ -59,6 +60,7 @@ public void testLosesCascade() { addCard(Zone.LIBRARY, playerA, "Sejiri Merfolk"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Predatory Advantage"); + setChoice(playerA, true); // yes to cast castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Nacatl Outlander"); setStopAt(1, PhaseStep.END_TURN); @@ -147,9 +149,11 @@ public void testRecastCascadeCard() { addCard(Zone.HAND, playerB, "Unsummon"); // Instant {U} castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Enlisted Wurm"); + setChoice(playerA, true); // yes to cast waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Unsummon", "Enlisted Wurm", true); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Enlisted Wurm"); + setChoice(playerA, true); // yes to cast setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ChampionTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ChampionTest.java index fb01fb76f572..c7e119c05939 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ChampionTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ChampionTest.java @@ -43,8 +43,9 @@ public void testChampionCreature() { addCard(Zone.BATTLEFIELD, playerA, "Goblin Roughrider"); addCard(Zone.HAND, playerA, "Lightning Crafter"); - castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Crafter"); + setChoice(playerA, true); // yes to champion + setChoice(playerA, "Goblin Roughrider"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); @@ -60,8 +61,9 @@ public void testExiledCreatureReturns() { addCard(Zone.BATTLEFIELD, playerA, "Goblin Roughrider"); addCard(Zone.HAND, playerA, "Lightning Crafter"); - castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Crafter"); + setChoice(playerA, true); // yes to champion + setChoice(playerA, "Goblin Roughrider"); activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: {this} deals 3 damage to ", "Lightning Crafter"); setStopAt(3, PhaseStep.BEGIN_COMBAT); @@ -91,6 +93,8 @@ public void testMistbindClique() { addTarget(playerA, playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mistbind Clique"); + setChoice(playerA, true); // yes to champion + setChoice(playerA, "Zephyr Sprite"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ChangelingTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ChangelingTest.java index b8e65cddc983..85ee41aba326 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ChangelingTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ChangelingTest.java @@ -150,8 +150,9 @@ public void testLoseAbilities() { addCard(Zone.HAND, playerA, "Merfolk Trickster"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Merfolk Trickster"); - // Game-Trail Changeling autochosen + addTarget(playerA, "Game-Trail Changeling"); + setStrictChooseMode(true); setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CipherTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CipherTest.java index ddc2797dbc92..65d12682e952 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CipherTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CipherTest.java @@ -55,6 +55,7 @@ public void testStolenIdentity() { // on attack must activated ability to free cast attack(5, playerA, "Roil Elemental"); setChoice(playerA, true); // activate free cast of encoded card + addTarget(playerA, "Roil Elemental"); checkPermanentCount("playerA must have 2 Roil Elemental", 5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Roil Elemental", 2); checkPermanentCount("playerB must have Roil Elemental", 5, PhaseStep.POSTCOMBAT_MAIN, playerB, "Roil Elemental", 1); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ConspireTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ConspireTest.java index 447b967c7b41..138c9f6ac1c1 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ConspireTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ConspireTest.java @@ -44,6 +44,8 @@ public void testConspire() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail", playerB); setChoice(playerA, true); + setChoice(playerA, "Goblin Roughrider^Raging Goblin"); // tap for conspire + setChoice(playerA, false); // don't change target setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); @@ -153,6 +155,9 @@ public void testWortTheRaidmotherWithConspireSpellOnce() { setChoice(playerA, true); // use Conspire from Burn Trail itself setChoice(playerA, false); // don't use Conspire gained from Wort, the Raidmother + setChoice(playerA, "Goblin Warrior Token", 2); // tap for conspire + setChoice(playerA, false); // keep targets + setStopAt(1, PhaseStep.END_TURN); execute(); assertPermanentCount(playerA, "Wort, the Raidmother", 1); @@ -176,6 +181,14 @@ public void testWortTheRaidmotherWithConspireSpellTwice() { castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Burn Trail", playerB); setChoice(playerA, true); // use Conspire from Burn Trail itself setChoice(playerA, true); // use Conspire gained from Wort, the Raidmother + setChoice(playerA, "When you pay the conspire"); // order triggers + + setChoice(playerA, "Goblin Warrior Token", 2); // tap for conspire + setChoice(playerA, false); // keep targets + + setChoice(playerA, "Raging Goblin", 2); // tap for conspire + setChoice(playerA, false); // keep targets + setStopAt(1, PhaseStep.END_TURN); execute(); @@ -198,12 +211,16 @@ public void testWortTheRaidmotherWithSakashimaOnce() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Wort, the Raidmother", true); // {4}{R/G}{R/G} castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sakashima the Impostor"); // {2}{U}{U} + setChoice(playerA, true); // Use Sakashima's ability setChoice(playerA, "Wort, the Raidmother"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB); setChoice(playerA, true); // use Conspire gained from Wort, the Raidmother setChoice(playerA, false); // don't use Conspire gained from Sakashima the Imposter + setChoice(playerA, "Goblin Warrior Token", 2); // tap for conspire + setChoice(playerA, false); // keep targets + setStopAt(1, PhaseStep.END_TURN); execute(); assertPermanentCount(playerA, "Wort, the Raidmother", 1); @@ -225,11 +242,18 @@ public void testWortTheRaidmotherWithSakashimaTwice() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Wort, the Raidmother", true); // {4}{R/G}{R/G} castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sakashima the Impostor"); // {2}{U}{U} + setChoice(playerA, true); // Use Sakashima's ability setChoice(playerA, "Wort, the Raidmother"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB); setChoice(playerA, true); // use Conspire gained from Wort, the Raidmother setChoice(playerA, true); // use Conspire gained from Sakashima the Imposter + setChoice(playerA, "When you pay the conspire"); // order triggers + + setChoice(playerA, "Goblin Warrior Token", 2); // tap for conspire + setChoice(playerA, false); // keep targets + setChoice(playerA, "Goblin Warrior Token", 2); // tap for conspire + setChoice(playerA, false); // keep targets setStopAt(1, PhaseStep.END_TURN); execute(); @@ -279,7 +303,7 @@ public void testConspire_AI_can() { //setChoice(playerA, "Goblin Assailant^Goblin Assailant"); - AI must choose //setChoice(playerA, false); // don't change target 1 - AI must choose - //setStrictChooseMode(true); - AI must choose + setStrictChooseMode(false); // - AI must choose setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); @@ -303,7 +327,7 @@ public void testConspire_AI_cannot() { //setChoice(playerA, "Goblin Assailant^Goblin Assailant"); - AI must choose //setChoice(playerA, false); // don't change target 1 - AI must choose - //setStrictChooseMode(true); - AI must choose + setStrictChooseMode(false); // - AI must choose setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ConvokeTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ConvokeTest.java index 6bc971bba3a2..41c698387c60 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ConvokeTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ConvokeTest.java @@ -127,7 +127,7 @@ public void test_PlayConvoke_AI_AutoPay() { // AI must use special actions to pay as convoke castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Stoke the Flames", playerB); - //setStrictChooseMode(true); AI must choose targets + setStrictChooseMode(false); // AI must choose targets setStopAt(1, PhaseStep.END_TURN); execute(); @@ -459,4 +459,4 @@ public void test_Clone_Counters_Convoke() { assertPowerToughness(playerA,"Grizzly Bears", 1, 1); assertPermanentCount(playerA,"Venerated Loxodon",2); } -} \ No newline at end of file +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CrewTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CrewTest.java index 807f96b12680..aa0de563017c 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CrewTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/CrewTest.java @@ -2,6 +2,8 @@ package org.mage.test.cards.abilities.keywords; import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.abilities.keyword.VigilanceAbility; import mage.constants.CardType; import mage.constants.PhaseStep; import mage.constants.SubType; @@ -99,6 +101,7 @@ public void testGiantOx() { addCard(Zone.BATTLEFIELD, playerA, plow); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Crew"); + setChoice(playerA, ox); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); execute(); @@ -113,13 +116,19 @@ public void testGrantedAbility() { addCard(Zone.BATTLEFIELD, playerA, crusher); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Crew 2"); + setChoice(playerA, kotori); + addTarget(playerA, crusher); + setStrictChooseMode(true); setStopAt(1, PhaseStep.END_TURN); execute(); assertTapped(kotori, true); assertType(crusher, CardType.ARTIFACT, true); assertType(crusher, CardType.CREATURE, SubType.VEHICLE); + assertAbility(playerA, crusher, LifelinkAbility.getInstance(), true); + assertAbility(playerA, crusher, VigilanceAbility.getInstance(), true); + } @Test @@ -128,6 +137,7 @@ public void testHotshotMechanic() { addCard(Zone.BATTLEFIELD, playerA, express); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Crew 4"); + setChoice(playerA, mechanic); setStopAt(1, PhaseStep.END_TURN); execute(); @@ -143,6 +153,8 @@ public void testHeartOfKiran() { addCard(Zone.BATTLEFIELD, playerA, heart); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Crew 3"); + setChoice(playerA, true); // remove loyalty counter instead + setChoice(playerA, jace); setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DelveTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DelveTest.java index 80e86bdba820..b65d1ad7be44 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DelveTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DelveTest.java @@ -56,7 +56,7 @@ public void test_PlayDelve_AI_AutoPay() { // AI must use special actions to pay as delve castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ethereal Forager"); - //setStrictChooseMode(true); AI must choose targets + setStrictChooseMode(false); // AI must choose targets setStopAt(1, PhaseStep.END_TURN); execute(); @@ -114,4 +114,4 @@ public void test_CheatWithCancel() { assertHandCount(playerA, 1); // no resolve, so no draw cards (if rollback bug active then it shows 3 cards) } -} \ No newline at end of file +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DiscardTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DiscardTest.java index 6514464af706..8884f8b96777 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DiscardTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DiscardTest.java @@ -91,6 +91,7 @@ public void testLilianasCaress() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Liliana's Caress", true); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Coercion", playerB); + setChoice(playerA, "Island"); // to discard setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DisturbTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DisturbTest.java index 2fbfa0be0991..31c9ba2e1041 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DisturbTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/DisturbTest.java @@ -336,7 +336,7 @@ public void test_Counter() { @Test public void testDisturbAura() { String mirrorhallMimic = "Mirrorhall Mimic"; - String ghastlyMimictry = "Ghastly Mimicry"; + String ghastlyMimicry = "Ghastly Mimicry"; String lightningBolt = "Lightning Bolt"; addCard(Zone.GRAVEYARD, playerA, mirrorhallMimic); @@ -345,11 +345,14 @@ public void testDisturbAura() { addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4); addCard(Zone.HAND, playerA, lightningBolt); - activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast " + ghastlyMimictry + " using Disturb"); + activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast " + ghastlyMimicry + " using Disturb"); + addTarget(playerA, "Alloy Myr"); + setChoice(playerA, "Blue"); // choose mana color + setStrictChooseMode(true); setStopAt(1, PhaseStep.PRECOMBAT_MAIN); execute(); - assertPermanentCount(playerA, ghastlyMimictry, 1); + assertPermanentCount(playerA, ghastlyMimicry, 1); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, lightningBolt, "Alloy Myr"); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ImproviseTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ImproviseTest.java index e8260990260b..41510b0a3934 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ImproviseTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ImproviseTest.java @@ -50,7 +50,7 @@ public void test_PlayImprovise_AI_AutoPay() { // AI must use special actions to pay as delve castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Bastion Inventor"); - //setStrictChooseMode(true); AI must choose targets + setStrictChooseMode(false); // AI must choose targets setStopAt(1, PhaseStep.END_TURN); execute(); @@ -73,4 +73,4 @@ public void test_PlayImprovise_AI_FullPlay() { assertPermanentCount(playerA, "Bastion Inventor", 1); } -} \ No newline at end of file +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/KickerTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/KickerTest.java index 5baf547cf33a..9b57de73af6a 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/KickerTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/KickerTest.java @@ -76,7 +76,7 @@ public void test_Use_AI() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment"); //setChoice(playerA, true); // with Kicker - AI must choose - //setStrictChooseMode(true); - AI must choose + setStrictChooseMode(false); // - AI must choose setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); @@ -112,7 +112,7 @@ public void test_DontUse_AI() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment"); //setChoice(playerA, false); - AI must choose - //setStrictChooseMode(true); - AI must choose + setStrictChooseMode(false); // - AI must choose setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ReplicateTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ReplicateTest.java index fe0627fd24ad..e2e5ec3ab382 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ReplicateTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/ReplicateTest.java @@ -186,7 +186,7 @@ public void testReplicate_AI() { //setChoice(playerA, false); // don't change target 1 //setChoice(playerA, false); // don't change target 2 - //setStrictChooseMode(true); - AI must choice + setStrictChooseMode(false); // - AI must choice setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/SquadTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/SquadTest.java index 5718d39f313b..7b2e97f69d7e 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/SquadTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/SquadTest.java @@ -68,7 +68,7 @@ public void test_Squad_NotUsed_AI() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, flagellant); //setChoice(playerA, false); - AI must choose - //setStrictChooseMode(true); - AI must choose + setStrictChooseMode(false); // - AI must choose setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); @@ -220,7 +220,7 @@ public void test_CopyingSpellMustKeepSquadStatus() { waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true); checkStackSize("after copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + copy - //setStrictChooseMode(true); + setStrictChooseMode(false); setStopAt(1, PhaseStep.END_TURN); execute(); @@ -251,7 +251,7 @@ public void test_CopyingETBTriggerMustKeepSquadStatus() { activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Copy target triggered ability you control. You may choose new targets for the copy."); - //setStrictChooseMode(true); // Could not make it work for explicitly target the trigger with Lithoform Engine + setStrictChooseMode(false); // // Could not make it work for explicitly target the trigger with Lithoform Engine setStopAt(1, PhaseStep.PRECOMBAT_MAIN); execute(); @@ -273,7 +273,7 @@ public void test_PanharmoniconDoubleSquadETBStatus() { setChoice(playerA, true); // pay squad once setChoice(playerA, false); - //setStrictChooseMode(true); // There is a double trigger to put in the stack, not sure how to order them. + setStrictChooseMode(false); // // There is a double trigger to put in the stack, not sure how to order them. setStopAt(1, PhaseStep.END_TURN); execute(); @@ -300,7 +300,7 @@ public void test_CloneMustNotCopySquad() { setChoice(playerA, true); // yes to the 'may copy' setChoice(playerA, "@flaggy"); // cloning the original flagellant. - //setStrictChooseMode(true); + setStrictChooseMode(false); setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/oneshot/exile/SearchNameExileTests.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/oneshot/exile/SearchNameExileTests.java index 48250d8ba527..55b4465a2932 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/oneshot/exile/SearchNameExileTests.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/oneshot/exile/SearchNameExileTests.java @@ -106,7 +106,7 @@ public void testFailSearchAndExileMDFCSpell() { // Should be no choices in the graveyard available since the back side spell doesn't match the front side name // Non-strict mode tries to select all possible targets, no current method to check if choosing is impossible - // setStrictChooseMode(true); + setStrictChooseMode(false); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); @@ -136,7 +136,7 @@ public void testSearchAndExileSplitSpellNonstrict() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "fused Ready // Willing"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Test of Talents", "Ready // Willing", "Ready // Willing"); - // setStrictChooseMode(true); + setStrictChooseMode(false); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/continuous/ConcurrentModificationExceptionTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/continuous/ConcurrentModificationExceptionTest.java index 5a6cc71a0e53..fd080783fbe3 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/continuous/ConcurrentModificationExceptionTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/continuous/ConcurrentModificationExceptionTest.java @@ -43,7 +43,7 @@ public void massWarpWorld() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Warp World"); aiPlayStep(1, PhaseStep.PRECOMBAT_MAIN, playerA); - //setStrictChooseMode(true); // need AI while cards adding + setStrictChooseMode(false); // need AI while cards adding setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); } diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/flipcoin/FlipCoinTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/flipcoin/FlipCoinTest.java index e5e6d7b01318..6a749a41a52f 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/flipcoin/FlipCoinTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/flipcoin/FlipCoinTest.java @@ -19,7 +19,7 @@ public void test_RandomResult() { activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}"); - //setStrictChooseMode(true); // normal play without errors + setStrictChooseMode(false); // normal play without errors setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); } diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/SigardaHostOfHeronsTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/SigardaHostOfHeronsTest.java index 6a2f2bbfbb3d..2952fb208256 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/SigardaHostOfHeronsTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/SigardaHostOfHeronsTest.java @@ -38,7 +38,7 @@ public void testCard() { castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Diabolic Edict", playerA); // sacrificing for player A prevented by Sigarda castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Diabolic Edict", playerB); // playerB has to sacrifice Sheldred - //setStrictChooseMode(true); // TODO: test must be fixed with correct targets + setStrictChooseMode(false); // TODO: test must be fixed with correct targets setStopAt(3, PhaseStep.END_TURN); execute(); @@ -70,7 +70,7 @@ public void testSacrificeCost() { activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}{B}"); - //setStrictChooseMode(true); // TODO: test must be fixed with correct targets + setStrictChooseMode(false); // TODO: test must be fixed with correct targets setStopAt(1, PhaseStep.END_COMBAT); execute(); @@ -104,7 +104,7 @@ public void testUseWithMercilessExecutioner() { setChoice(playerB, "Merciless Executioner"); setChoice(playerA, "Sigarda, Host of Herons"); - //setStrictChooseMode(true); // TODO: test must be fixed with correct targets + setStrictChooseMode(false); // TODO: test must be fixed with correct targets setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/blb/EarlyWinterTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/blb/EarlyWinterTest.java index 6e6dd7d4f6ce..537adf6d506f 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/blb/EarlyWinterTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/blb/EarlyWinterTest.java @@ -63,7 +63,7 @@ public void test_ExileEnchantment_WorksOnShroud() { @Test public void test_ExileEnchantment_CheckControlled() { - //setStrictChooseMode(true); // enable once the choice for enchantment can be tested when no choice possible + setStrictChooseMode(false); // enable once the choice for enchantment can be tested when no choice possible addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5); addCard(Zone.BATTLEFIELD, playerA, "Glorious Anthem"); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/c20/EonFrolickerTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/c20/EonFrolickerTest.java index 602c27771b6f..8da4f1743157 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/c20/EonFrolickerTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/c20/EonFrolickerTest.java @@ -34,7 +34,7 @@ public void test_EonFrolicker_NormalPlay() { castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Chandra's Fury"); //addTarget(playerB, playerB); - //setStrictChooseMode(true); // AI must choose target for fury (itself) + setStrictChooseMode(false); // AI must choose target for fury (itself) setStopAt(1, PhaseStep.END_TURN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/c20/PakoArcaneRetrieverTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/c20/PakoArcaneRetrieverTest.java index f36e3f5eef35..8d428a22c528 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/c20/PakoArcaneRetrieverTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/c20/PakoArcaneRetrieverTest.java @@ -54,7 +54,7 @@ public void test_CheckExiled() { @Test public void test_CastExiled() { - // setStrictChooseMode(true); + setStrictChooseMode(false); addCard(Zone.BATTLEFIELD, playerA, "Forest", 3); addCard(Zone.BATTLEFIELD, playerA, "Plains", 3); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 6); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/exo/KeeperOfTheMindTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/exo/KeeperOfTheMindTest.java index 1c49362aed53..96d14036f291 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/exo/KeeperOfTheMindTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/exo/KeeperOfTheMindTest.java @@ -23,7 +23,7 @@ public void simpleActivate() { activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{U}, {T}: Choose target opponent "); - // setStrictChooseMode(true); // targetting is weird due to targetAdjuster. + setStrictChooseMode(false); // targetting is weird due to targetAdjuster. setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); @@ -38,7 +38,7 @@ public void activateOtherPlayerTurn() { activateAbility(2, PhaseStep.UPKEEP, playerA, "{U}, {T}: Choose target opponent "); - // setStrictChooseMode(true); // targetting is weird due to targetAdjuster. + setStrictChooseMode(false); // targetting is weird due to targetAdjuster. setStopAt(2, PhaseStep.DRAW); execute(); @@ -69,7 +69,7 @@ public void doubleActivate() { activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{U}, {T}: Choose target opponent "); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{U}, {T}: Choose target opponent "); - // setStrictChooseMode(true); // targetting is weird due to targetAdjuster. + setStrictChooseMode(false); // targetting is weird due to targetAdjuster. setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/mh3/TheCreationOfAvacynTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/mh3/TheCreationOfAvacynTest.java index 2b24c07c2a56..339fa50dfa6d 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/mh3/TheCreationOfAvacynTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/mh3/TheCreationOfAvacynTest.java @@ -83,7 +83,7 @@ public void test_NotCreature() { @Test public void test_StrionicResonator_DoubleCreature() { - //setStrictChooseMode(true); // targetting the first saga ability is difficult in test + setStrictChooseMode(false); // targetting the first saga ability is difficult in test // {2}, {T}: Copy target triggered ability you control. You may choose new targets for the copy. addCard(Zone.BATTLEFIELD, playerA, "Strionic Resonator"); @@ -111,7 +111,7 @@ public void test_StrionicResonator_DoubleCreature() { @Test public void test_StrionicResonator_CreatureAndPermanent() { - //setStrictChooseMode(true); // targetting the first saga ability is difficult in test + setStrictChooseMode(false); // targetting the first saga ability is difficult in test // {2}, {T}: Copy target triggered ability you control. You may choose new targets for the copy. addCard(Zone.BATTLEFIELD, playerA, "Strionic Resonator"); @@ -139,7 +139,7 @@ public void test_StrionicResonator_CreatureAndPermanent() { @Test public void test_StrionicResonator_CreatureAndSpell() { - //setStrictChooseMode(true); // targetting the first saga ability is difficult in test + setStrictChooseMode(false); // targetting the first saga ability is difficult in test // {2}, {T}: Copy target triggered ability you control. You may choose new targets for the copy. addCard(Zone.BATTLEFIELD, playerA, "Strionic Resonator"); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/who/ThijarianWitnessTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/who/ThijarianWitnessTest.java index 3e86680602ae..bd0e93c924a6 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/who/ThijarianWitnessTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/who/ThijarianWitnessTest.java @@ -70,7 +70,7 @@ public void test_BlockingAloneAfterKill() { @Test public void test_DoubleBlocked() { //Auto-assign damage - //setStrictChooseMode(true); + setStrictChooseMode(false); addCard(Zone.BATTLEFIELD, playerA, witness); addCard(Zone.BATTLEFIELD, playerA, big); addCard(Zone.BATTLEFIELD, playerB, tiny); @@ -92,7 +92,7 @@ public void test_DoubleBlocked() { @Test public void test_DoubleBlocker() { //Auto-assign damage - //setStrictChooseMode(true); + setStrictChooseMode(false); addCard(Zone.BATTLEFIELD, playerA, witness); addCard(Zone.BATTLEFIELD, playerA, tiny); addCard(Zone.BATTLEFIELD, playerA, tiny2); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/woe/AlelaCunningConquerorTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/woe/AlelaCunningConquerorTest.java index 053db728e395..fdb8bb1d5f6a 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/woe/AlelaCunningConquerorTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/woe/AlelaCunningConquerorTest.java @@ -63,7 +63,7 @@ public void attackSinglePlayer() { @Test public void attackTwoPlayers() { - //setStrictChooseMode(true); // did not succesfully differentiate the two very similar triggers to order them in the stack. + setStrictChooseMode(false); // did not successfully differentiate the two very similar triggers to order them in the stack. addCard(Zone.BATTLEFIELD, playerA, alela); addCard(Zone.BATTLEFIELD, playerA, pestermite); addCard(Zone.BATTLEFIELD, playerB, bears); @@ -110,4 +110,4 @@ private void assertGoadedByPlayer(String attacker, TestPlayer player) { permanent.getGoadingPlayers().contains(player.getId()) ); } -} \ No newline at end of file +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/EnterLeaveBattlefieldExileTargetTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/EnterLeaveBattlefieldExileTargetTest.java index 48236289a77b..0b1b861f3181 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/EnterLeaveBattlefieldExileTargetTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/EnterLeaveBattlefieldExileTargetTest.java @@ -97,7 +97,7 @@ public void testAngelOfSerenityTargets() { setChoice(playerA, true); //addTarget(playerA, "Silvercoat Lion^Balduvian Bears"); // AI must target - //setStrictChooseMode(true); // AI must target + setStrictChooseMode(false); // AI must target setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ZadaHedronGrinderTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ZadaHedronGrinderTest.java index 8ac28063615a..1eba5570f149 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ZadaHedronGrinderTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ZadaHedronGrinderTest.java @@ -93,7 +93,7 @@ public void testTargetsByAI() { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Arbor Armament", "Zada, Hedron Grinder"); //addTarget(playerA, "Balduvian Bears^Silvercoat Lion"); - //setStrictChooseMode(true); // no strict mode for AI + setStrictChooseMode(false); // no strict mode for AI setStopAt(1, PhaseStep.BEGIN_COMBAT); execute();