From c1bc3b0bc29b56145172f9dfb43a143623424579 Mon Sep 17 00:00:00 2001 From: Derek Monturo Date: Mon, 17 Apr 2017 11:51:52 -0400 Subject: [PATCH] ut for #3132 confirming issue with dread return --- .../abilities/keywords/FlashbackTest.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/FlashbackTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/FlashbackTest.java index 16c1cd1f83..41e734c88d 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/FlashbackTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/FlashbackTest.java @@ -472,4 +472,43 @@ public class FlashbackTest extends CardTestPlayerBase { assertExileCount(playerA, bScreech, 1); // this fails, but the creatures are tapped as part of paying the cost assertPermanentCount(playerA, "Bird", 2); // if you comment out the above line, this is failing as well } + + /* + Reported bug: tried to flashback Dread Return, it allowed me to sac the creatures but the spell did not resolve after the costs had been paid. + It did not allow me to select a creature to return from yard to board. + */ + @Test + public void dreadReturnFlashback() { + + /* + Dread Return {2}{B}{B} + Sorcery + Return target creature card from your graveyard to the battlefield. + Flashback—Sacrifice three creatures + */ + String dReturn = "Dread Return"; + String yOx = "Yoked Ox"; // {W} 0/4 + String eVanguard = "Elite Vanguard"; // {W} 2/1 + String memnite = "Memnite"; // {0} 1/1 + String bSable = "Bronze Sable"; // {2} 2/1 + + addCard(Zone.GRAVEYARD, playerA, dReturn); + addCard(Zone.GRAVEYARD, playerA, bSable); + addCard(Zone.BATTLEFIELD, playerA, yOx); + addCard(Zone.BATTLEFIELD, playerA, eVanguard); + addCard(Zone.BATTLEFIELD, playerA, memnite); + + activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flashback"); // Flashback Dread Return + addTarget(playerA, yOx + '^' + eVanguard + '^' + memnite); // sac 3 creatures + addTarget(playerA, bSable); // return to battlefield + + setStopAt(1, PhaseStep.BEGIN_COMBAT); + execute(); + + assertGraveyardCount(playerA, eVanguard, 1); + assertGraveyardCount(playerA,yOx, 1); + assertGraveyardCount(playerA, memnite, 1); + assertExileCount(playerA, dReturn, 1); + assertPermanentCount(playerA, bSable, 1); + } }