More tests for #2130

This commit is contained in:
drmDev 2016-07-30 15:17:01 -04:00
parent 5c498d2ff5
commit 5bca2d84e8

View file

@ -38,7 +38,7 @@ public class LilianaDefiantNecromancerTest extends CardTestPlayerBase {
// -X: Return target nonlegendary creature with converted mana cost X from your graveyard to the battlefield.
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "-X:");
setChoice(playerA, "X=1");
addTarget(playerA, "Hill Giant");
addTarget(playerA, "Hill Giant"); // dunno which to use for returning from grave, both target/choice seem to work
setChoice(playerA, "Hill Giant");
setStopAt(1, PhaseStep.END_TURN);
@ -52,4 +52,77 @@ public class LilianaDefiantNecromancerTest extends CardTestPlayerBase {
assertPermanentCount(playerA, "Hill Giant", 0);
assertGraveyardCount(playerA, "Hill Giant", 1);
}
@Test
public void testMinusAbilityShouldNotReturnLegendaryCreature() {
addCard(Zone.BATTLEFIELD, playerA, "Alesha, Who Smiles at Death", 1); // {2}{R} 3/2 Legendary first strike
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 3);
// Lifelink
// Whenever another nontoken creature you control dies, exile Liliana Heretical Healer, then return her to the battlefield transformed under her owner's control. If you do, put a 2/2 black Zombie creature token onto the battlefield.
addCard(Zone.HAND, playerA, "Liliana, Heretical Healer");
addCard(Zone.HAND, playerB, "Lightning Bolt");
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Liliana, Heretical Healer");
castSpell(1, PhaseStep.BEGIN_COMBAT, playerB, "Lightning Bolt");
addTarget(playerB, "Alesha, Who Smiles at Death");
// Transformed into Liliana, Defiant Necromancer with (3) loyalty to start
// -X: Return target nonlegendary creature with converted mana cost X from your graveyard to the battlefield.
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "-X:");
setChoice(playerA, "X=3");
addTarget(playerA, "Alesha, Who Smiles at Death"); // dunno which to use for returning from grave, both target/choice seem to work
setChoice(playerA, "Alesha, Who Smiles at Death");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertGraveyardCount(playerB, "Lightning Bolt", 1);
assertPermanentCount(playerA, "Liliana, Heretical Healer", 0);
assertPermanentCount(playerA, "Zombie", 1);
assertPermanentCount(playerA, "Alesha, Who Smiles at Death", 0);
assertGraveyardCount(playerA, "Alesha, Who Smiles at Death", 1);
// because target could not be chosen, the counters were never removed?
assertCounterCount("Liliana, Defiant Necromancer", CounterType.LOYALTY, 3);
assertPermanentCount(playerA, "Liliana, Defiant Necromancer", 1);
}
@Test
public void testMinusAbilityShouldReturnNonLegendaryCreature() {
addCard(Zone.BATTLEFIELD, playerA, "Bronze Sable", 1); // {2} 2/1
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 3);
// Lifelink
// Whenever another nontoken creature you control dies, exile Liliana Heretical Healer, then return her to the battlefield transformed under her owner's control. If you do, put a 2/2 black Zombie creature token onto the battlefield.
addCard(Zone.HAND, playerA, "Liliana, Heretical Healer");
addCard(Zone.HAND, playerB, "Lightning Bolt");
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Liliana, Heretical Healer");
castSpell(1, PhaseStep.BEGIN_COMBAT, playerB, "Lightning Bolt");
addTarget(playerB, "Bronze Sable");
// Transformed into Liliana, Defiant Necromancer with (3) loyalty to start
// -X: Return target nonlegendary creature with converted mana cost X from your graveyard to the battlefield.
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "-X:");
setChoice(playerA, "X=2");
addTarget(playerA, "Bronze Sable"); // dunno which to use for returning from grave, both target/choice seem to work
setChoice(playerA, "Bronze Sable");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertGraveyardCount(playerB, "Lightning Bolt", 1);
assertPermanentCount(playerA, "Liliana, Heretical Healer", 0);
assertPermanentCount(playerA, "Zombie", 1);
assertPermanentCount(playerA, "Bronze Sable", 1);
assertGraveyardCount(playerA, "Bronze Sable", 0);
assertPermanentCount(playerA, "Liliana, Defiant Necromancer", 1);
assertCounterCount("Liliana, Defiant Necromancer", CounterType.LOYALTY, 1);
}
}