fix #11520 (Elite Spellbinder)

and similar card InvasionOfGobakhan
This commit is contained in:
xenohedron 2023-12-21 22:32:33 -05:00
parent 1fbf5e8760
commit 7ff2570024
3 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,49 @@
package org.mage.test.cards.single.stx;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
* @author xenohedron
*/
public class EliteSpellbinderTest extends CardTestPlayerBase {
// reported bug #11520
private static final String spellbinder = "Elite Spellbinder";
// When Elite Spellbinder enters the battlefield, look at target opponents hand.
// You may exile a nonland card from it. For as long as that card remains exiled, its owner may play it.
// A spell cast this way costs {2} more to cast.
private static final String cascader = "Maelstrom Colossus"; // 8 mana creature with cascade
private static final String bolt = "Lightning Bolt";
@Test
public void testCostIncreaseDoesntAffectCascade() {
addCard(Zone.BATTLEFIELD, playerA, "Plains", 3);
addCard(Zone.HAND, playerA, spellbinder);
addCard(Zone.BATTLEFIELD, playerB, "Wastes", 10);
addCard(Zone.HAND, playerB, cascader);
addCard(Zone.LIBRARY, playerB, bolt); // to be cascaded into
addCard(Zone.LIBRARY, playerB, "Shock"); // top of library, gets drawn
skipInitShuffling();
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, spellbinder);
addTarget(playerA, playerB); // target opponent's hand
setChoice(playerA, cascader); // exiled
checkExileCount("cascader", 1, PhaseStep.POSTCOMBAT_MAIN, playerB, cascader, 1);
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, cascader);
setChoice(playerB, true); // yes to cascade
addTarget(playerB, playerA); // bolt target
setStrictChooseMode(true);
setStopAt(2, PhaseStep.END_TURN);
execute();
assertTappedCount("Wastes", true, 10);
assertLife(playerA, 17);
}
}