package org.mage.test.cards.triggers.dies; import mage.constants.PhaseStep; import mage.constants.Zone; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * * @author noxx * * Whenever another nontoken creature dies, you may draw a card. */ public class HarvesterOfSoulsTest extends CardTestPlayerBase { /** * Tests creature on any side would trigger effect * Also tests that tokens don't cause trigger to happen */ @Test public void testDisabledEffectOnChangeZone() { addCard(Zone.BATTLEFIELD, playerA, "Plains", 4); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3); addCard(Zone.HAND, playerA, "Day of Judgment", 1); addCard(Zone.HAND, playerA, "Thatcher Revolt", 1); // Creature - Demon 5/5 {4}{B}{B} // Deathtouch // Whenever another nontoken creature dies, you may draw a card. addCard(Zone.BATTLEFIELD, playerA, "Harvester of Souls", 1); // Creature - Wurm 6/4 {4}{G}{G} addCard(Zone.BATTLEFIELD, playerA, "Craw Wurm", 1); // Whenever Arrogant Bloodlord blocks or becomes blocked by a creature with power 1 or less, destroy Arrogant Bloodlord at end of combat. addCard(Zone.BATTLEFIELD, playerB, "Arrogant Bloodlord", 1); // Put three 1/1 red Human creature tokens with haste onto the battlefield. Sacrifice those tokens at the beginning of the next end step. castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Thatcher Revolt"); // Destroy all creatures. castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Day of Judgment"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); assertLife(playerA, 20); assertLife(playerB, 20); assertHandCount(playerA, 2); // draw a card for Harvester and Craw Wurm assertHandCount(playerB, 0); } }