package org.mage.test.cards.abilities.activated; 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 EquipAbilityTest extends CardTestPlayerBase { /** * Tests equipping creature with hexproof */ @Test public void testEquipHexproof() { addCard(Zone.BATTLEFIELD, playerA, "Ring of Evos Isle"); addCard(Zone.BATTLEFIELD, playerA, "Merfolk Spy"); addCard(Zone.BATTLEFIELD, playerA, "Plains"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip", "Merfolk Spy"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); Permanent merfolk = getPermanent("Merfolk Spy", playerA); Assert.assertNotNull(merfolk); Assert.assertEquals(1, merfolk.getAttachments().size()); } /** * Tests equipping creature with shroud */ @Test public void testEquipShroud() { addCard(Zone.BATTLEFIELD, playerA, "Ring of Evos Isle"); addCard(Zone.BATTLEFIELD, playerA, "Simic Sky Swallower"); addCard(Zone.BATTLEFIELD, playerA, "Plains"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip", "Simic Sky Swallower"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); Permanent sky = getPermanent("Simic Sky Swallower", playerA); Assert.assertNotNull(sky); Assert.assertEquals(0, sky.getAttachments().size()); } /** * Tests equipping opponent's creature */ @Test public void testEquipOpponentsCreature() { addCard(Zone.BATTLEFIELD, playerA, "Ring of Evos Isle"); addCard(Zone.BATTLEFIELD, playerB, "Llanowar Elves"); addCard(Zone.BATTLEFIELD, playerA, "Plains"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip", "Llanowar Elves"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); Permanent elves = getPermanent("Llanowar Elves", playerB); Assert.assertNotNull(elves); Assert.assertEquals(0, elves.getAttachments().size()); } }