diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/SoulWardenTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/SoulWardenTest.java index f3f5e7f7643..ab3bc1cd596 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/SoulWardenTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/SoulWardenTest.java @@ -19,16 +19,15 @@ public class SoulWardenTest extends CardTestPlayerBase { */ @Test public void testDisabledEffectOnChangeZone() { - addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1); - addCard(Zone.HAND, playerA, "Lightning Bolt"); - addCard(Zone.BATTLEFIELD, playerA, "Plains", 4); + addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3); + addCard(Zone.BATTLEFIELD, playerA, "Plains", 3); + addCard(Zone.BATTLEFIELD, playerA, "Soul Warden", 1); + addCard(Zone.HAND, playerA, "Lightning Bolt", 1); addCard(Zone.HAND, playerA, "Elite Vanguard", 2); addCard(Zone.HAND, playerA, "Raise the Alarm", 1); - addCard(Zone.BATTLEFIELD, playerA, "Soul Warden", 1); - // Creature 2/1 castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elite Vanguard"); // 2/1 creature - castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Raise the Alarm"); // put 2 1/1 soldiers on the battlefield + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Raise the Alarm"); // put two 1/1 soldiers on the battlefield castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt"); addTarget(playerA, "Soul Warden"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Elite Vanguard"); // should not gain life now that soul warden is dead diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/delayed/PostMortemLungeTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/delayed/PostMortemLungeTest.java new file mode 100644 index 00000000000..d4683706998 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/delayed/PostMortemLungeTest.java @@ -0,0 +1,43 @@ +package org.mage.test.cards.triggers.delayed; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +/** + * + * @author escplan9 (Derek Monturo - dmontur1 at gmail dot com) + */ +public class PostMortemLungeTest extends CardTestPlayerBase { + + /* + Reported bug: "Postmortem Lunge returns a creature to the battlefield, but does not seem to exile it afterwards." + */ + @Test + public void testExilesCreatureAtEndStep() { + + /* + {P}{X} - Sorcery + Return target creature card with converted mana cost X from your graveyard to the battlefield. + It gains haste. Exile it at the beginning of the next end step. + */ + addCard(Zone.HAND, playerA, "Postmortem Lunge"); + addCard(Zone.BATTLEFIELD, playerA, "Swamp", 2); + addCard(Zone.GRAVEYARD, playerA, "Elite Vanguard"); // {W} 2/1 creature + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Postmortem Lunge"); + addTarget(playerA, "Elite Vanguard"); + setChoice(playerA, "Elite Vanguard"); + + attack(1, playerA, "Elite Vanguard"); + + setStopAt(1, PhaseStep.CLEANUP); + execute(); + + assertLife(playerB, 18); + assertGraveyardCount(playerA, "Postmortem Lunge", 1); + assertExileCount("Elite Vanguard", 1); + assertPermanentCount(playerA, "Elite Vanguard", 0); + } +}