From cb70af6f504061494d21872eafb4c7eadb0bf13d Mon Sep 17 00:00:00 2001 From: drmDev Date: Tue, 18 Apr 2017 23:38:08 -0400 Subject: [PATCH 1/2] UT confirming bug for #3165 --- .../test/cards/planeswalker/LilianaTest.java | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/LilianaTest.java 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 00000000000..2913683dc44 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/LilianaTest.java @@ -0,0 +1,65 @@ +package org.mage.test.cards.planeswalker; + +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); + assertTapped(yOx, true); + } +} From 97d60a940c2e7b7dfb3ec7401472e76f2c5398c7 Mon Sep 17 00:00:00 2001 From: drmDev Date: Tue, 18 Apr 2017 23:40:19 -0400 Subject: [PATCH 2/2] add type checking --- .../java/org/mage/test/cards/planeswalker/LilianaTest.java | 3 +++ 1 file changed, 3 insertions(+) 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 index 2913683dc44..ce6452da542 100644 --- 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 @@ -1,5 +1,6 @@ package org.mage.test.cards.planeswalker; +import mage.constants.CardType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.counters.CounterType; @@ -60,6 +61,8 @@ public class LilianaTest extends CardTestPlayerBase { 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); } }