Fixed a problem of Flashback and Buyback producing a loop.

This commit is contained in:
LevelX2 2016-09-24 03:13:59 +02:00
parent 5215a02181
commit 423c2bbf6c
2 changed files with 26 additions and 1 deletions

View file

@ -367,6 +367,31 @@ public class FlashbackTest extends CardTestPlayerBase {
}
@Test
public void testSnapcasterMageWithBuyback() {
addCard(Zone.BATTLEFIELD, playerA, "Island", 8);
addCard(Zone.HAND, playerA, "Snapcaster Mage", 1);
// Buyback {5}(You may pay an additional {5} as you cast this spell. If you do, put this card into your hand as it resolves.)
// Draw a card.
addCard(Zone.GRAVEYARD, playerA, "Whispers of the Muse", 1); // {U}
// When Snapcaster Mage enters the battlefield, target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost.
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Snapcaster Mage");
setChoice(playerA, "Whispers of the Muse");
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Flashback"); // Flashback Whispers of the Muse
setChoice(playerA, "Yes");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertPermanentCount(playerA, "Snapcaster Mage", 1);
assertGraveyardCount(playerA, "Whispers of the Muse", 0);
assertHandCount(playerA, 1);
assertExileCount("Whispers of the Muse", 1);
}
/**
* Deep Analysis doesn't cost mana when flashbacked.
*/