mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00:00
* Added test from #6349.
This commit is contained in:
parent
066f24c909
commit
0bdbd36d2d
1 changed files with 81 additions and 0 deletions
|
@ -0,0 +1,81 @@
|
|||
package org.mage.test.cards.triggers;
|
||||
|
||||
import mage.ObjectColor;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author luziferius
|
||||
*/
|
||||
public class DivineVisitationTest extends CardTestPlayerBase {
|
||||
|
||||
/**
|
||||
* Test case for issue #6349. Divine Visitation should not replace Treasure tokens created by Smothering Tithe
|
||||
*/
|
||||
@Test
|
||||
public void testDivineVisitationDoesNotReplaceNoncreatureTokens() {
|
||||
|
||||
// If one or more creature tokens would be created under your control,
|
||||
// that many 4/4 white Angel creature tokens with flying and vigilance are created instead.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Divine Visitation");
|
||||
// Whenever an opponent draws a card, that player may pay {2}.
|
||||
// If the player doesn’t, you create a Treasure token.
|
||||
// (It’s an artifact with “{T}, Sacrifice this artifact: Add one mana of any color.”)
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Smothering Tithe");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Island", 1);
|
||||
// Target player draws three cards.
|
||||
addCard(Zone.HAND, playerA, "Ancestral Recall"); // {U}
|
||||
// Let the opponent draw
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ancestral Recall", playerB);
|
||||
setChoice(playerA, "Whenever an opponent draws a card", 2); // choose order of triggers
|
||||
setChoice(playerB, "No", 3); // Decline to pay 2
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
|
||||
assertHandCount(playerB, 3);
|
||||
assertPermanentCount(playerA, "Treasure", 3);
|
||||
assertType("Treasure", CardType.ARTIFACT, SubType.TREASURE);
|
||||
assertNotType("Treasure", CardType.CREATURE);
|
||||
assertNotSubtype("Treasure", SubType.ANGEL);
|
||||
assertPermanentCount(playerA, "Angel", 0);
|
||||
assertPermanentCount(playerA, 6);
|
||||
assertGraveyardCount(playerA, 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDivineVisitationReplacesCreatureTokens() {
|
||||
|
||||
// If one or more creature tokens would be created under your control,
|
||||
// that many 4/4 white Angel creature tokens with flying and vigilance are created instead.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Divine Visitation");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2);
|
||||
|
||||
// Create two 1/1 red Goblin creature tokens.
|
||||
addCard(Zone.HAND, playerA, "Dragon Fodder");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Dragon Fodder");
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
|
||||
assertGraveyardCount(playerA, 1);
|
||||
assertPermanentCount(playerA, 5);
|
||||
assertPermanentCount(playerA, "Goblin", 0);
|
||||
assertPermanentCount(playerA, "Angel", 2);
|
||||
assertType("Angel", CardType.CREATURE, SubType.ANGEL);
|
||||
assertColor(playerA, "Angel", ObjectColor.WHITE, true);
|
||||
assertColor(playerA, "Angel", ObjectColor.RED, false);
|
||||
assertPowerToughness(playerA, "Angel", 4,4);
|
||||
assertNotSubtype("Angel", SubType.GOBLIN);
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue