package org.mage.test.cards.abilities.enters; 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 ProteanHydraTest extends CardTestPlayerBase { @Test public void testEnteringWithCounters() { addCard(Zone.BATTLEFIELD, playerA, "Forest", 5); // Protean Hydra enters the battlefield with X +1/+1 counters on it. // If damage would be dealt to Protean Hydra, prevent that damage and remove that many +1/+1 counters from it. // Whenever a +1/+1 counter is removed from Protean Hydra, put two +1/+1 counters on it at the beginning of the next end step. addCard(Zone.HAND, playerA, "Protean Hydra"); // CREATURE - {X}{G} castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Protean Hydra"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); assertLife(playerA, 20); assertLife(playerB, 20); for (Permanent permanent : currentGame.getBattlefield().getAllPermanents()) { if (permanent.getName().equals("Forest")) { // check all mana was spent Assert.assertTrue(permanent.isTapped()); } } assertPermanentCount(playerA, "Protean Hydra", 1); Permanent proteanHydra = getPermanent("Protean Hydra", playerA.getId()); Assert.assertEquals(4, proteanHydra.getPower().getValue()); Assert.assertEquals(4, proteanHydra.getToughness().getValue()); } }