1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-03 01:08:59 -09:00

added more Ashling the Pilgrim tests

This commit is contained in:
Evan Kranzler 2020-04-28 19:09:05 -04:00
parent f077706e80
commit 4e8d423bca

View file

@ -1,5 +1,7 @@
package org.mage.test.cards.single.lrw;
import mage.abilities.keyword.TrampleAbility;
import mage.constants.ManaType;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import mage.counters.CounterType;
@ -15,6 +17,11 @@ public class AshlingThePilgrimTest extends CardTestPlayerBase {
private static final String ashling = "Ashling the Pilgrim";
private static final String ashAbility = "{1}{R}: ";
private static final String cshift = "Cloudshift";
private static final String slbrt = "Soulbright Flamekin";
private static final String slbrtAbility = "{2}: ";
private static final String sqlch = "Squelch";
private static final String crps = "Walking Corpse";
private static final String mrdr = "Murder";
@Test
public void testAshling() {
@ -115,4 +122,89 @@ public class AshlingThePilgrimTest extends CardTestPlayerBase {
assertPermanentCount(playerA, ashling, 0);
assertLife(playerA, 17);
}
@Test
public void testAshlingExtraActivations() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 10);
addCard(Zone.BATTLEFIELD, playerA, ashling);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
setStopAt(1, PhaseStep.END_TURN);
execute();
assertAllCommandsUsed();
assertPermanentCount(playerA, ashling, 0);
assertLife(playerA, 17);
}
@Test
public void testAshlingSoulbright() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 6);
addCard(Zone.BATTLEFIELD, playerA, ashling);
addCard(Zone.BATTLEFIELD, playerA, slbrt);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, slbrtAbility, ashling);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, slbrtAbility, ashling);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, slbrtAbility, ashling);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
setStopAt(1, PhaseStep.END_TURN);
execute();
assertAllCommandsUsed();
assertPermanentCount(playerA, ashling, 0);
assertPermanentCount(playerA, slbrt, 0);
assertLife(playerA, 17);
}
@Test
public void testAshlingStifle() {
addCard(Zone.BATTLEFIELD, playerA, "Volcanic Island", 8);
addCard(Zone.BATTLEFIELD, playerA, ashling);
addCard(Zone.HAND, playerA, sqlch);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, ashAbility);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, sqlch);
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, ashAbility);
setStopAt(1, PhaseStep.END_TURN);
execute();
assertAllCommandsUsed();
assertPermanentCount(playerA, ashling, 1);
assertCounterCount(playerA, ashling, CounterType.P1P1, 2);
assertLife(playerA, 20);
}
@Test
public void testSoulbrightFizzle() {
addCard(Zone.BATTLEFIELD, playerA, "Badlands", 9);
addCard(Zone.BATTLEFIELD, playerA, "Upwelling");
addCard(Zone.BATTLEFIELD, playerA, crps);
addCard(Zone.BATTLEFIELD, playerA, slbrt);
addCard(Zone.HAND, playerA, mrdr);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, slbrtAbility, crps);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, mrdr, crps);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, slbrtAbility, slbrt);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, slbrtAbility, slbrt);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
execute();
assertAllCommandsUsed();
assertManaPool(playerA, ManaType.RED, 0);
assertAbility(playerA, slbrt, TrampleAbility.getInstance(), true);
}
}