package org.mage.test.cards.watchers; import mage.constants.PhaseStep; import mage.constants.Zone; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * * @author BetaSteward */ public class BoseijuTest extends CardTestPlayerBase { /* * Boseiju, Who Shelters All * Legendary Land * Boseiju, Who Shelters All enters the battlefield tapped. * {T}, Pay 2 life: Add {C} to your mana pool. If that mana is spent on an * instant or sorcery spell, that spell can't be countered by spells or abilities. * */ // test that instants and soceries can't be countered when Boseiju mana is used @Test public void testCantCounter() { addCard(Zone.BATTLEFIELD, playerA, "Island", 4); addCard(Zone.BATTLEFIELD, playerA, "Boseiju, Who Shelters All"); addCard(Zone.BATTLEFIELD, playerB, "Island", 2); // Draw three cards. addCard(Zone.HAND, playerA, "Brilliant Plan"); // {4}{U} addCard(Zone.HAND, playerB, "Counterspell"); // {U}{U} castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Brilliant Plan"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Counterspell", "Brilliant Plan"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); this.assertHandCount(playerA, 3); this.assertGraveyardCount(playerB, "Counterspell", 1); } // test that instants and soceries can be countered when Boseiju mana is not used @Test public void testCanCounter() { addCard(Zone.BATTLEFIELD, playerA, "Island", 6); addCard(Zone.BATTLEFIELD, playerA, "Boseiju, Who Shelters All"); addCard(Zone.HAND, playerA, "Mental Note"); addCard(Zone.HAND, playerA, "Counterspell"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mental Note"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Counterspell", "Mental Note"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); this.assertHandCount(playerA, 0); this.assertGraveyardCount(playerA, 2); } }