package org.mage.test.sba; import mage.constants.PhaseStep; import mage.constants.Zone; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * @author noxx */ public class PlaneswalkerRuleTest extends CardTestPlayerBase { /** * Check two copies of the same planeswalker played from different players won't be destroyed */ @Test public void testDontDestroySamePlaneswalkers() { addCard(Zone.HAND, playerA, "Jace, Memory Adept"); addCard(Zone.BATTLEFIELD, playerA, "Island", 5); addCard(Zone.BATTLEFIELD, playerB, "Jace, Memory Adept"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Jace, Memory Adept"); setStopAt(1, PhaseStep.END_COMBAT); execute(); assertPermanentCount(playerA, "Jace, Memory Adept", 1); assertPermanentCount(playerB, "Jace, Memory Adept", 1); } /** * Check two different planeswalkers but with the same subtype played by two different players won't be destroyed */ @Test public void testDontDestroySameSubtype() { addCard(Zone.HAND, playerA, "Jace Beleren"); addCard(Zone.BATTLEFIELD, playerA, "Island", 3); addCard(Zone.BATTLEFIELD, playerB, "Jace, Memory Adept"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Jace Beleren"); setStopAt(1, PhaseStep.END_COMBAT); execute(); assertPermanentCount(playerA, "Jace Beleren", 1); assertPermanentCount(playerB, "Jace, Memory Adept", 1); } /** * Check two copies of the same planeswalker played from the same player that one must be sacrificed */ @Test public void testDestroySamePlaneswalkers() { addCard(Zone.HAND, playerA, "Jace, Memory Adept"); addCard(Zone.BATTLEFIELD, playerA, "Island", 5); addCard(Zone.BATTLEFIELD, playerA, "Jace, Memory Adept"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Jace, Memory Adept"); setStopAt(1, PhaseStep.END_COMBAT); execute(); assertPermanentCount(playerA, "Jace, Memory Adept", 1); } }