package org.mage.test.cards.replacement; import mage.constants.PhaseStep; import mage.constants.Zone; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * Pillar of Flame: Pillar of Flame deals 2 damage to target creature or player. * If a creature dealt damage this way would die this turn, exile it instead. * * @author LevelX2 */ public class PillarOfFlameTest extends CardTestPlayerBase { /** * Tests when cast Pillar of Flame targeting opponent there is no influence * on dying creature of opponent */ @Test public void testNotTriggeringExileItInstead() { // Soulbond // As long as Lightning Mauler is paired with another creature, both creatures have haste. addCard(Zone.BATTLEFIELD, playerA, "Lightning Mauler"); // 2/1 // Unleash (You may have this creature enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it.) addCard(Zone.BATTLEFIELD, playerA, "Rakdos Cackler"); // 1/1 // Pillar of Flame deals 2 damage to target creature or player. // If a creature dealt damage this way would die this turn, exile it instead. addCard(Zone.HAND, playerA, "Pillar of Flame"); // Soulbond // As long as Stonewright is paired with another creature, each of those creatures has "{R}: This creature gets +1/+0 until end of turn." addCard(Zone.HAND, playerA, "Stonewright"); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3); addCard(Zone.BATTLEFIELD, playerB, "Dutiful Thrull"); castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Pillar of Flame", playerB); castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Stonewright"); attack(3, playerA, "Rakdos Cackler"); attack(3, playerA, "Lightning Mauler"); block(3, playerB, "Dutiful Thrull", "Lightning Mauler"); setStopAt(3, PhaseStep.END_TURN); execute(); assertLife(playerA, 20); assertLife(playerB, 16); assertPermanentCount(playerA, "Rakdos Cackler", 1); assertPermanentCount(playerA, "Lightning Mauler", 0); assertPermanentCount(playerA, "Stonewright", 1); assertGraveyardCount(playerA, 2); assertGraveyardCount(playerB, 1); } /** * Tests when cast Pillar of Flame targeting creature it goes to exile if * dying later */ @Test public void testTriggeringExileItInstead() { addCard(Zone.BATTLEFIELD, playerA, "Lightning Mauler"); addCard(Zone.HAND, playerA, "Pillar of Flame"); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1); addCard(Zone.BATTLEFIELD, playerB, "Warmind Infantry"); castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Pillar of Flame", "Warmind Infantry"); attack(3, playerA, "Lightning Mauler"); block(3, playerB, "Warmind Infantry", "Lightning Mauler"); setStopAt(3, PhaseStep.END_TURN); execute(); assertLife(playerA, 20); assertLife(playerB, 20); assertPermanentCount(playerA, "Lightning Mauler", 0); assertGraveyardCount(playerA, 2); assertPermanentCount(playerB, "Warmind Infantry", 0); assertGraveyardCount(playerB, 0); } }