mirror of
https://github.com/correl/mage.git
synced 2025-01-11 19:13:02 +00:00
m21 tests 'F'
This commit is contained in:
parent
039b6c62ab
commit
a9627e6101
8 changed files with 233 additions and 0 deletions
|
@ -0,0 +1,30 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class ExperimentalOverloadTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void castAndReturnCard() {
|
||||
// Create an X/X blue and red Weird creature token, where X is the number of instant and sorcery cards in your graveyard.
|
||||
// Then you may return an instant or sorcery card from your graveyard to your hand. Exile Experimental Overload.
|
||||
addCard(Zone.HAND, playerA, "Experimental Overload");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2);
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Island", 2);
|
||||
|
||||
addCard(Zone.GRAVEYARD, playerA, "Shock");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Experimental Overload");
|
||||
// setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "Shock");
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertHandCount(playerA, "Shock",1);
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class FalconerAdeptTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void createTokenTriger(){
|
||||
// Whenever Falconer Adept attacks, create a 1/1 white Bird creature token with flying that's tapped and attacking.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Falconer Adept");
|
||||
|
||||
attack(3, playerA, "Falconer Adept");
|
||||
setStopAt(3, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertLife(playerB, 17);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class FieryEmancipationTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void directDamage() {
|
||||
// If a source you control would deal damage to a permanent or player, it deals triple that damage to that permanent or player instead.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Fiery Emancipation");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain");
|
||||
addCard(Zone.HAND, playerA, "Shock");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shock", playerB);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertLife(playerB, 14);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void directDamagePlaneswalker() {
|
||||
// If a source you control would deal damage to a permanent or player, it deals triple that damage to that permanent or player instead.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Fiery Emancipation");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Basri Ket");
|
||||
addCard(Zone.HAND, playerA, "Shock");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shock", "Basri Ket");
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertGraveyardCount(playerB, "Basri Ket", 1);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class FinishingBlowTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void destroyCreature(){
|
||||
// Destroy target creature or planeswalker.
|
||||
addCard(Zone.HAND, playerA, "Finishing Blow");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5);
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Finishing Blow", "Grizzly Bears");
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertGraveyardCount(playerB, "Grizzly Bears", 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void destroyPlaneswalker(){
|
||||
// Destroy target creature or planeswalker.
|
||||
addCard(Zone.HAND, playerA, "Finishing Blow");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5);
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Basri Ket");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Finishing Blow", "Basri Ket");
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertGraveyardCount(playerB, "Basri Ket", 1);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class ForgottenSentinelTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void etbTapped(){
|
||||
addCard(Zone.HAND, playerA, "Forgotten Sentinel");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Forest", 4);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Forgotten Sentinel");
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertTapped("Forgotten Sentinel", true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class FranticInventoryTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void drawCards() {
|
||||
addCard(Zone.HAND, playerA, "Frantic Inventory");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Island", 2);
|
||||
addCard(Zone.GRAVEYARD, playerA, "Frantic Inventory");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Frantic Inventory");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertHandCount(playerA, 2);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class FrostBreathTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void tapTwoCreatures(){
|
||||
// Tap up to two target creatures. Those creatures don't untap during their controller's next untap step.
|
||||
addCard(Zone.HAND, playerA, "Frost Breath");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Serra Angel");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Frost Breath");
|
||||
addTarget(playerA, "Grizzly Bears^Serra Angel");
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(2, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
assertTapped("Grizzly Bears", true);
|
||||
assertTapped("Serra Angel", true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class FungalRebirthTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void createToken() {
|
||||
// Return target permanent card from your graveyard to your hand.
|
||||
// If a creature died this turn, create two 1/1 green Saproling creature tokens.
|
||||
addCard(Zone.HAND, playerA, "Fungal Rebirth");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5);
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Forest", 5);
|
||||
addCard(Zone.HAND, playerA, "Terror");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Terror", "Grizzly Bears");
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fungal Rebirth", "Grizzly Bears");
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
|
||||
assertPermanentCount(playerA, "Saproling", 2);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue