package org.mage.test.cards.single.soi; import mage.constants.PhaseStep; import mage.constants.Zone; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * 3RR Creature - Elemental Wolf Whenever Wolf of Devil's Breach attacks, you * may pay 1R and discard a card. If you do, Wolf of Devil's Breach deals damage * to target creature or planeswalker equal to the discarded card's converted * mana cost. * * @author escplan9 (Derek Monturo - dmontur1 at gmail dot com) */ public class WolfOfDevilsBreachTest extends CardTestPlayerBase { @Test public void attackChooseToPay() { // Whenever Wolf of Devil's Breach attacks, you may pay {1}{R} and discard a card. If you do, Wolf of Devil's Breach deals // damage to target creature or planeswalker equal to the discarded card's converted mana cost. addCard(Zone.BATTLEFIELD, playerA, "Wolf of Devil's Breach", 1); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2); addCard(Zone.HAND, playerA, "Bronze Sable", 1); // (2) 2/1 addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears", 1); // 2/2 attack(1, playerA, "Wolf of Devil's Breach"); setChoice(playerA, "Yes"); setChoice(playerA, "Bronze Sable"); addTarget(playerA, "Grizzly Bears"); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); execute(); assertGraveyardCount(playerA, "Bronze Sable", 1); assertGraveyardCount(playerB, "Grizzly Bears", 1); } /** * */ @Test public void attackDoNotPay() { // Whenever Wolf of Devil's Breach attacks, you may pay {1}{R} and discard a card. If you do, Wolf of Devil's Breach deals // damage to target creature or planeswalker equal to the discarded card's converted mana cost. addCard(Zone.BATTLEFIELD, playerA, "Wolf of Devil's Breach", 1); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2); addCard(Zone.HAND, playerA, "Bronze Sable", 1); // (2) 2/1 addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears", 1); // 2/2 attack(1, playerA, "Wolf of Devil's Breach"); setChoice(playerA, "No"); setChoice(playerA, "Bronze Sable"); addTarget(playerA, "Grizzly Bears"); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); execute(); assertHandCount(playerA, "Bronze Sable", 1); // never discarded assertGraveyardCount(playerA, "Bronze Sable", 0); assertGraveyardCount(playerB, "Grizzly Bears", 0); } }