fixed some Idol of Endurance bugs, updated tests

This commit is contained in:
Evan Kranzler 2020-06-30 19:20:59 -04:00
parent 833ca03293
commit 00c5162682
2 changed files with 85 additions and 10 deletions

View file

@ -11,12 +11,15 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
public class IdolOfEnduranceTest extends CardTestPlayerBase {
private static final String idol = "Idol of Endurance";
private static final String dsnchnt = "Disenchant";
private static final String key = "Voltaic Key";
private static final String sqr = "Squire";
private static final String glrskr = "Glory Seeker";
private static final String pnhrmcn = "Panharmonicon";
private static final String bnyrdwrm = "Boneyard Wurm";
@Test
public void testIdol() {
public void testIdolCast() {
addCard(Zone.BATTLEFIELD, playerA, "Plains", 5);
addCard(Zone.HAND, playerA, idol);
addCard(Zone.GRAVEYARD, playerA, sqr);
@ -35,7 +38,7 @@ public class IdolOfEnduranceTest extends CardTestPlayerBase {
}
@Test
public void testIdol2() {
public void testIdolCast2() {
addCard(Zone.BATTLEFIELD, playerA, "Plains", 5);
addCard(Zone.HAND, playerA, idol);
addCard(Zone.GRAVEYARD, playerA, sqr);
@ -59,6 +62,63 @@ public class IdolOfEnduranceTest extends CardTestPlayerBase {
assertPermanentCount(playerA, glrskr, 0);
}
@Test
public void testIdolLeaves() {
addCard(Zone.BATTLEFIELD, playerA, "Plains", 7);
addCard(Zone.HAND, playerA, idol);
addCard(Zone.HAND, playerA, dsnchnt);
addCard(Zone.GRAVEYARD, playerA, sqr);
addCard(Zone.GRAVEYARD, playerA, glrskr);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, idol);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1}{W}");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, sqr);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, dsnchnt, idol);
setStopAt(1, PhaseStep.END_TURN);
execute();
assertAllCommandsUsed();
assertPermanentCount(playerA, sqr, 1);
assertPermanentCount(playerA, idol, 0);
assertGraveyardCount(playerA, glrskr, 1);
}
@Test
public void testIdolPanharmonicon() {
addCard(Zone.BATTLEFIELD, playerA, "Plains", 7);
addCard(Zone.BATTLEFIELD, playerA, pnhrmcn);
addCard(Zone.BATTLEFIELD, playerA, bnyrdwrm, 2);
addCard(Zone.HAND, playerA, idol);
addCard(Zone.HAND, playerA, dsnchnt);
addCard(Zone.GRAVEYARD, playerA, sqr);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, idol);
// Boneyard Wurm will die between triggers
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1}{W}");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, bnyrdwrm);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, dsnchnt, idol);
setStopAt(1, PhaseStep.END_TURN);
execute();
assertAllCommandsUsed();
assertPermanentCount(playerA, bnyrdwrm, 1);
assertPermanentCount(playerA, idol, 0);
assertGraveyardCount(playerA, sqr, 1);
assertGraveyardCount(playerA, bnyrdwrm, 1);
}
@Test
public void testIdolTwice() {
addCard(Zone.BATTLEFIELD, playerA, "Plains", 8);