* Some standardisation of dies trigger handling (fixes #7063 Midnight Reaper triggers when dies face down).

This commit is contained in:
LevelX2 2020-09-18 16:15:21 +02:00
parent e1ab14e0f5
commit 2fec825523
17 changed files with 720 additions and 710 deletions

View file

@ -8,7 +8,11 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
public class GrimHaruspexTest extends CardTestPlayerBase {
@Test
public void testMorphed() {
setStrictChooseMode(true);
addCard(Zone.HAND, playerA, "Wrath of God");
// Morph {B}
// Whenever another nontoken creature you control dies, draw a card.
addCard(Zone.HAND, playerA, "Grim Haruspex");
addCard(Zone.BATTLEFIELD, playerA, "Plains", 7);
@ -19,6 +23,8 @@ public class GrimHaruspexTest extends CardTestPlayerBase {
setStopAt(1, PhaseStep.END_COMBAT);
execute();
assertAllCommandsUsed();
assertGraveyardCount(playerA, "Grim Haruspex", 1);
assertHandCount(playerA, 0);
}

View file

@ -0,0 +1,62 @@
package org.mage.test.cards.facedown;
import mage.cards.Card;
import mage.constants.EmptyNames;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Assert;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
*
* @author LevelX2
*/
public class TriggerTest extends CardTestPlayerBase {
/**
* Midnight Reaper triggers when dies face down #7063
* Ixidron has turned Midnight Reaper and Balduvian Bears face down:
*
*/
// test that cards imprinted using Summoner's Egg are face down
@Test
public void testReaperDoesNotTriggerDiesTriggerFaceDown() {
setStrictChooseMode(true);
addCard(Zone.BATTLEFIELD, playerA, "Island", 5);
// As Ixidron enters the battlefield, turn all other nontoken creatures face down.
// Ixidron's power and toughness are each equal to the number of face-down creatures on the battlefield.
addCard(Zone.HAND, playerA, "Ixidron"); // Creature {3}{U}{U} (*/*)
// Whenever a nontoken creature you control dies, Midnight Reaper deals 1 damage to you and you draw a card.
addCard(Zone.BATTLEFIELD, playerA, "Midnight Reaper"); // Creature {2}{B}
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1);
addCard(Zone.HAND, playerB, "Lightning Bolt"); // Instant 3 damage
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ixidron");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", EmptyNames.FACE_DOWN_CREATURE.toString());
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertAllCommandsUsed();
assertGraveyardCount(playerB, "Lightning Bolt", 1);
assertGraveyardCount(playerA, "Midnight Reaper", 1);
assertGraveyardCount(playerA, "Ixidron", 1);
assertHandCount(playerA, 0);
assertLife(playerA, 20);
}
}