From a9627e610172aa59dbaf6739d6431c430b621038 Mon Sep 17 00:00:00 2001 From: Ingmar Goudt Date: Sun, 16 Aug 2020 23:39:06 +0200 Subject: [PATCH] m21 tests 'F' --- .../single/m21/ExperimentalOverloadTest.java | 30 ++++++++++++++ .../cards/single/m21/FalconerAdeptTest.java | 21 ++++++++++ .../single/m21/FieryEmancipationTest.java | 38 +++++++++++++++++ .../cards/single/m21/FinishingBlowTest.java | 41 +++++++++++++++++++ .../single/m21/ForgottenSentinelTest.java | 22 ++++++++++ .../single/m21/FranticInventoryTest.java | 23 +++++++++++ .../cards/single/m21/FrostBreathTest.java | 28 +++++++++++++ .../cards/single/m21/FungalRebirthTest.java | 30 ++++++++++++++ 8 files changed, 233 insertions(+) create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/single/m21/ExperimentalOverloadTest.java create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FalconerAdeptTest.java create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FieryEmancipationTest.java create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FinishingBlowTest.java create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/single/m21/ForgottenSentinelTest.java create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FranticInventoryTest.java create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FrostBreathTest.java create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FungalRebirthTest.java diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/ExperimentalOverloadTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/ExperimentalOverloadTest.java new file mode 100644 index 00000000000..5c03f64848d --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/ExperimentalOverloadTest.java @@ -0,0 +1,30 @@ +package org.mage.test.cards.single.m21; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +public class ExperimentalOverloadTest extends CardTestPlayerBase { + + @Test + public void castAndReturnCard() { + // Create an X/X blue and red Weird creature token, where X is the number of instant and sorcery cards in your graveyard. + // Then you may return an instant or sorcery card from your graveyard to your hand. Exile Experimental Overload. + addCard(Zone.HAND, playerA, "Experimental Overload"); + addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2); + addCard(Zone.BATTLEFIELD, playerA, "Island", 2); + + addCard(Zone.GRAVEYARD, playerA, "Shock"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Experimental Overload"); + // setChoice(playerA, "Yes"); + setChoice(playerA, "Shock"); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + setStrictChooseMode(true); + execute(); + assertAllCommandsUsed(); + assertHandCount(playerA, "Shock",1); + + } +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FalconerAdeptTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FalconerAdeptTest.java new file mode 100644 index 00000000000..e8e7d9673ec --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FalconerAdeptTest.java @@ -0,0 +1,21 @@ +package org.mage.test.cards.single.m21; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +public class FalconerAdeptTest extends CardTestPlayerBase { + + @Test + public void createTokenTriger(){ + // Whenever Falconer Adept attacks, create a 1/1 white Bird creature token with flying that's tapped and attacking. + addCard(Zone.BATTLEFIELD, playerA, "Falconer Adept"); + + attack(3, playerA, "Falconer Adept"); + setStopAt(3, PhaseStep.POSTCOMBAT_MAIN); + execute(); + assertAllCommandsUsed(); + assertLife(playerB, 17); + } +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FieryEmancipationTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FieryEmancipationTest.java new file mode 100644 index 00000000000..f3eead8c813 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FieryEmancipationTest.java @@ -0,0 +1,38 @@ +package org.mage.test.cards.single.m21; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +public class FieryEmancipationTest extends CardTestPlayerBase { + + @Test + public void directDamage() { + // If a source you control would deal damage to a permanent or player, it deals triple that damage to that permanent or player instead. + addCard(Zone.BATTLEFIELD, playerA, "Fiery Emancipation"); + addCard(Zone.BATTLEFIELD, playerA, "Mountain"); + addCard(Zone.HAND, playerA, "Shock"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shock", playerB); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + execute(); + assertAllCommandsUsed(); + assertLife(playerB, 14); + } + + @Test + public void directDamagePlaneswalker() { + // If a source you control would deal damage to a permanent or player, it deals triple that damage to that permanent or player instead. + addCard(Zone.BATTLEFIELD, playerA, "Fiery Emancipation"); + addCard(Zone.BATTLEFIELD, playerA, "Mountain"); + addCard(Zone.BATTLEFIELD, playerB, "Basri Ket"); + addCard(Zone.HAND, playerA, "Shock"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shock", "Basri Ket"); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + execute(); + assertAllCommandsUsed(); + assertGraveyardCount(playerB, "Basri Ket", 1); + } +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FinishingBlowTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FinishingBlowTest.java new file mode 100644 index 00000000000..6d2d3a02696 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FinishingBlowTest.java @@ -0,0 +1,41 @@ +package org.mage.test.cards.single.m21; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +public class FinishingBlowTest extends CardTestPlayerBase { + + @Test + public void destroyCreature(){ + // Destroy target creature or planeswalker. + addCard(Zone.HAND, playerA, "Finishing Blow"); + addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5); + + addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Finishing Blow", "Grizzly Bears"); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + setStrictChooseMode(true); + execute(); + assertAllCommandsUsed(); + assertGraveyardCount(playerB, "Grizzly Bears", 1); + } + + @Test + public void destroyPlaneswalker(){ + // Destroy target creature or planeswalker. + addCard(Zone.HAND, playerA, "Finishing Blow"); + addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5); + + addCard(Zone.BATTLEFIELD, playerB, "Basri Ket"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Finishing Blow", "Basri Ket"); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + setStrictChooseMode(true); + execute(); + assertAllCommandsUsed(); + assertGraveyardCount(playerB, "Basri Ket", 1); + } +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/ForgottenSentinelTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/ForgottenSentinelTest.java new file mode 100644 index 00000000000..3dabe5eb0d6 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/ForgottenSentinelTest.java @@ -0,0 +1,22 @@ +package org.mage.test.cards.single.m21; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +public class ForgottenSentinelTest extends CardTestPlayerBase { + + @Test + public void etbTapped(){ + addCard(Zone.HAND, playerA, "Forgotten Sentinel"); + addCard(Zone.BATTLEFIELD, playerA, "Forest", 4); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Forgotten Sentinel"); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + setStrictChooseMode(true); + execute(); + assertAllCommandsUsed(); + assertTapped("Forgotten Sentinel", true); + } +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FranticInventoryTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FranticInventoryTest.java new file mode 100644 index 00000000000..7985cf786a1 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FranticInventoryTest.java @@ -0,0 +1,23 @@ +package org.mage.test.cards.single.m21; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +public class FranticInventoryTest extends CardTestPlayerBase { + + @Test + public void drawCards() { + addCard(Zone.HAND, playerA, "Frantic Inventory"); + addCard(Zone.BATTLEFIELD, playerA, "Island", 2); + addCard(Zone.GRAVEYARD, playerA, "Frantic Inventory"); + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Frantic Inventory"); + + setStrictChooseMode(true); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + execute(); + assertAllCommandsUsed(); + assertHandCount(playerA, 2); + } +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FrostBreathTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FrostBreathTest.java new file mode 100644 index 00000000000..1f833edec5f --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FrostBreathTest.java @@ -0,0 +1,28 @@ +package org.mage.test.cards.single.m21; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +public class FrostBreathTest extends CardTestPlayerBase { + + @Test + public void tapTwoCreatures(){ + // Tap up to two target creatures. Those creatures don't untap during their controller's next untap step. + addCard(Zone.HAND, playerA, "Frost Breath"); + addCard(Zone.BATTLEFIELD, playerA, "Island", 3); + + addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears"); + addCard(Zone.BATTLEFIELD, playerB, "Serra Angel"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Frost Breath"); + addTarget(playerA, "Grizzly Bears^Serra Angel"); + setStrictChooseMode(true); + setStopAt(2, PhaseStep.PRECOMBAT_MAIN); + execute(); + assertAllCommandsUsed(); + assertTapped("Grizzly Bears", true); + assertTapped("Serra Angel", true); + } +} diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FungalRebirthTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FungalRebirthTest.java new file mode 100644 index 00000000000..e34017cb3d6 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/m21/FungalRebirthTest.java @@ -0,0 +1,30 @@ +package org.mage.test.cards.single.m21; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +public class FungalRebirthTest extends CardTestPlayerBase { + + @Test + public void createToken() { + // Return target permanent card from your graveyard to your hand. + // If a creature died this turn, create two 1/1 green Saproling creature tokens. + addCard(Zone.HAND, playerA, "Fungal Rebirth"); + addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears"); + addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5); + addCard(Zone.BATTLEFIELD, playerA, "Forest", 5); + addCard(Zone.HAND, playerA, "Terror"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Terror", "Grizzly Bears"); + waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fungal Rebirth", "Grizzly Bears"); + setStrictChooseMode(true); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + execute(); + assertAllCommandsUsed(); + + assertPermanentCount(playerA, "Saproling", 2); + } +}