package org.mage.test.cards.abilities.equipped; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.game.permanent.Permanent; import org.junit.Assert; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * * @author noxx */ public class HeavyArbalestTest extends CardTestPlayerBase { /** * Tests that creature with Heavy Arbalest will use it and won't untap */ @Test public void testNotUntapping() { addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4); addCard(Zone.BATTLEFIELD, playerA, "Heavy Arbalest"); addCard(Zone.BATTLEFIELD, playerA, "Elite Vanguard"); addCard(Zone.BATTLEFIELD, playerB, "Llanowar Elves"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip {4}", "Elite Vanguard"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: {source} deals 2 damage", playerB); setStopAt(3, PhaseStep.BEGIN_COMBAT); execute(); assertLife(playerA, 20); assertLife(playerB, 18); Permanent eliteVanguard = getPermanent("Elite Vanguard", playerA.getId()); Assert.assertTrue(!eliteVanguard.getAttachments().isEmpty()); Assert.assertTrue(eliteVanguard.isTapped()); } /** * Tests that creature with Heavy Arbalest will use it and untap later after equip is equipped to another creature */ @Test public void testUntapsLater() { addCard(Zone.BATTLEFIELD, playerA, "Mountain", 8); addCard(Zone.BATTLEFIELD, playerA, "Heavy Arbalest"); addCard(Zone.BATTLEFIELD, playerA, "Elite Vanguard"); addCard(Zone.BATTLEFIELD, playerA, "Llanowar Elves"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip {4}", "Elite Vanguard"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: {source} deals 2 damage", playerB); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip {4}", "Llanowar Elves"); setStopAt(5, PhaseStep.BEGIN_COMBAT); execute(); assertLife(playerA, 20); assertLife(playerB, 18); Permanent eliteVanguard = getPermanent("Elite Vanguard", playerA.getId()); Assert.assertTrue(eliteVanguard.getAttachments().isEmpty()); Assert.assertFalse(eliteVanguard.isTapped()); } }