package org.mage.test.cards.single.tsp; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.filter.Filter; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * Created by Alexsandr0x. */ public class HivestoneTest extends CardTestPlayerBase { /** * If a creature is already a Sliver, Hivestone has no effect on it. */ @Test public void abilityCheckTest() { addCard(Zone.BATTLEFIELD, playerA, "Forest", 4); addCard(Zone.HAND, playerA, "Grizzly Bears", 1); // Creature {1}{G} // Creatures you control are Slivers in addition to their other creature types. addCard(Zone.HAND, playerA, "Hivestone", 1); // Artifact {2} // All Sliver creatures get +1/+1. addCard(Zone.BATTLEFIELD, playerA, "Muscle Sliver", 1); addCard(Zone.BATTLEFIELD, playerB, "Runeclaw Bear", 1); // Creature 2/2 castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Grizzly Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Hivestone"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); assertPermanentCount(playerA, "Hivestone", 1); assertPermanentCount(playerA, "Grizzly Bears", 1); assertPowerToughness(playerA, "Grizzly Bears", 3, 3, Filter.ComparisonScope.Any); assertPowerToughness(playerB, "Runeclaw Bear", 2, 2, Filter.ComparisonScope.Any); } /** * Turns only your creatures on the battlefield, not in other zones, into * Slivers. It won’t allow you to have Root Sliver on the battlefield and * make your Grizzly Bears uncounterable, for example. */ @Test public void rootSliverTest() { addCard(Zone.HAND, playerA, "Grizzly Bears", 1); addCard(Zone.BATTLEFIELD, playerA, "Hivestone", 1); // Root Sliver can't be countered. Sliver spells can't be countered by spells or abilities. addCard(Zone.BATTLEFIELD, playerA, "Root Sliver", 1); addCard(Zone.BATTLEFIELD, playerA, "Forest", 2); addCard(Zone.BATTLEFIELD, playerB, "Island", 2); addCard(Zone.HAND, playerB, "Counterspell"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Grizzly Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Counterspell", "Grizzly Bears", "Grizzly Bears"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); assertGraveyardCount(playerA, 1); } }