package org.mage.test.cards.watchers; import mage.constants.PhaseStep; import mage.constants.Zone; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * * @author BetaSteward */ public class UnscytheKillerOfKingsTest extends CardTestPlayerBase { /* * Unscythe, Killer of Kings * Legendary Artifact — Equipment, UBBR (4) * Equipped creature gets +3/+3 and has first strike. * Whenever a creature dealt damage by equipped creature this turn dies, you * may exile that card. If you do, put a 2/2 black Zombie creature token onto * the battlefield. * Equip {2} * */ // test that when creature damaged by equipped creature dies a Zombie token is created @Test public void testDamagedCreatureDies() { addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2); addCard(Zone.BATTLEFIELD, playerA, "Unscythe, Killer of Kings"); addCard(Zone.BATTLEFIELD, playerA, "Prodigal Pyromancer"); addCard(Zone.BATTLEFIELD, playerB, "Sejiri Merfolk"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip", "Prodigal Pyromancer"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{T}: {source} deals 1 damage to target creature or player.", "Sejiri Merfolk"); setStopAt(1, PhaseStep.END_TURN); execute(); assertPermanentCount(playerB, "Sejiri Merfolk", 0); assertPermanentCount(playerA, "Zombie", 1); assertExileCount("Sejiri Merfolk", 1); } // test that when creature damaged by equipped creature dies a Zombie token is created @Test public void testDamagedCreatureDiesAfterEquipped() { addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3); addCard(Zone.BATTLEFIELD, playerA, "Unscythe, Killer of Kings"); // {T}: Prodigal Pyromancer deals 1 damage to target creature or player. addCard(Zone.BATTLEFIELD, playerA, "Prodigal Pyromancer"); addCard(Zone.HAND, playerA, "Lightning Bolt"); addCard(Zone.BATTLEFIELD, playerB, "Craw Wurm"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: {source} deals 1 damage to target creature or player.", "Craw Wurm"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Equip", "Prodigal Pyromancer"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", "Craw Wurm", "Equip", StackClause.WHILE_NOT_ON_STACK); setStopAt(1, PhaseStep.END_TURN); execute(); assertPermanentCount(playerB, "Craw Wurm", 0); assertPermanentCount(playerA, "Zombie", 1); assertExileCount("Craw Wurm", 1); } }