/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.mage.test.cards.single.ogw;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Ignore;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
* Poor Reality Smasher is going to take such a beating with all these tests.
*
* @author escplan9 (Derek Monturo - dmontur1 at gmail dot com)
*/
public class RealitySmasherTest extends CardTestPlayerBase {
// Cannot figure out how to setup any of these tests to work with Reality Smashers triggered ability
@Ignore
@Test
public void testSimpleKillSpellChooseToDiscard() {
// Reality Smasher {4}{<>} Trample, haste 5/5
// Whenever Reality Smasher becomes the target of a spell an opponent controls, counter that spell unless its controller discards a card.
addCard(Zone.BATTLEFIELD, playerA, "Reality Smasher");
addCard(Zone.HAND, playerB, "Doom Blade"); // {1}{B} destroy target non-black creature
addCard(Zone.HAND, playerB, "Sigiled Starfish"); // discard fodder
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Doom Blade");
addTarget(playerB, "Reality Smasher");
setChoice(playerB, "Yes"); // discard to prevent counter
setChoice(playerB, "Sigiled Starfish");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerB, "Doom Blade", 1);
assertHandCount(playerB, "Sigiled Starfish", 0);
assertGraveyardCount(playerB, "Sigiled Starfish", 1);
assertGraveyardCount(playerA, "Reality Smasher", 1);
}
// Cannot figure out how to setup any of these tests to work with Reality Smashers triggered ability
@Ignore
@Test
public void testSimpleKillSpellChooseNotToDiscard() {
// Reality Smasher {4}{<>} Trample, haste 5/5
// Whenever Reality Smasher becomes the target of a spell an opponent controls, counter that spell unless its controller discards a card.
addCard(Zone.BATTLEFIELD, playerA, "Reality Smasher");
addCard(Zone.HAND, playerB, "Doom Blade"); // {1}{B} destroy target non-black creature
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Doom Blade");
addTarget(playerB, "Reality Smasher");
setChoice(playerB, "No"); // no discard
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerB, "Doom Blade", 1);
assertPermanentCount(playerA, "Reality Smasher", 1);
}
// Cannot figure out how to setup any of these tests to work with Reality Smashers triggered ability
@Ignore
@Test
public void testTargettedByPyromancerGoggleCopy() {
// Reality Smasher {4}{<>} Trample, haste 5/5
// Whenever Reality Smasher becomes the target of a spell an opponent controls, counter that spell unless its controller discards a card.
addCard(Zone.BATTLEFIELD, playerB, "Reality Smasher");
// {T}: Add Red to your mana pool. When that mana is spent to cast a red instant or sorcery spell, copy that spell and you may choose new targets for the copy.
addCard(Zone.BATTLEFIELD, playerA, "Pyromancer's Goggles"); // {5} Legendary artifact
addCard(Zone.HAND, playerA, "Lightning Bolt");
addCard(Zone.HAND, playerA, "Swamp", 2); // discard fodder
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}:");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt");
addTarget(playerA, "Reality Smasher");
setChoice(playerA, "Yes"); // discard a card to prevent counter (bolt targetting)
setChoice(playerA, "Swamp");
setChoice(playerA, "No"); // do not choose new targets for copy (goggles)
setChoice(playerA, "Yes"); // discard a card to prevent counter (copy of bolt targetting)
setChoice(playerA, "Swamp");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerA, "Lightning Bolt", 1);
assertGraveyardCount(playerA, "Swamp", 2);
assertGraveyardCount(playerB, "Reality Smasher", 1);
}
}