diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/LilianaTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/LilianaTest.java new file mode 100644 index 0000000000..ce6452da54 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/LilianaTest.java @@ -0,0 +1,68 @@ +package org.mage.test.cards.planeswalker; + +import mage.constants.CardType; +import mage.constants.PhaseStep; +import mage.constants.Zone; +import mage.counters.CounterType; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +/** + * + * @author escplan9 + */ +public class LilianaTest extends CardTestPlayerBase { + + @Test + public void testMe() { + /* + Binding Mummy {1}{W} + Creature - Zombie 2/2 + Whenever another Zombie enters the battlefield under your control, you may tap target artifact or creature. + */ + String bMummy = "Binding Mummy"; + + /* + Liliana, Death's Majesty {3}{B}{B} + Planeswalker — Liliana 5 loyalty + [+1] : Create a 2/2 black Zombie creature token. Put the top two cards of your library into your graveyard. + [-3] : Return target creature card from your graveyard to the battlefield. That creature is a black Zombie in addition to its other colors and types. + [-7] : Destroy all non-Zombie creatures. + */ + String liliannaDM = "Liliana, Death's Majesty"; + + /* + Winged Shepherd {5}{W} + Creature - Angel 3/3 + Flying, vigilance + Cycling {W} + */ + String wShepherd = "Winged Shepherd"; + + String yOx = "Yoked Ox"; // {W} 0/4 + + addCard(Zone.BATTLEFIELD, playerA, bMummy); + addCard(Zone.HAND, playerA, liliannaDM); + addCard(Zone.GRAVEYARD, playerA, wShepherd); + addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5); + addCard(Zone.BATTLEFIELD, playerB, yOx); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, liliannaDM); + activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "-3:"); // Liliana -3 + addTarget(playerA, wShepherd); // returns to battlefield and become zombie on top of other types + setChoice(playerA, "Yes"); // use Binding Mummy ability + addTarget(playerA, yOx); // tap the ox + + setStopAt(1, PhaseStep.BEGIN_COMBAT); + execute(); + + assertPermanentCount(playerA, bMummy, 1); + assertPermanentCount(playerA, liliannaDM, 1); + assertPermanentCount(playerA, wShepherd, 1); + assertPermanentCount(playerB, yOx, 1); + assertCounterCount(playerA, liliannaDM, CounterType.LOYALTY, 2); + assertType(wShepherd, CardType.CREATURE, "Zombie"); // should have subtype zombie on top of angel type + assertType(wShepherd, CardType.CREATURE, "Angel"); + assertTapped(yOx, true); + } +}