mirror of
https://github.com/correl/mage.git
synced 2025-01-12 19:25:44 +00:00
testReflectorMageBouncesFaceupCreatureReplayAsMorph fails due to bug reported
This commit is contained in:
parent
527bb2a492
commit
b46c2d5b45
1 changed files with 85 additions and 0 deletions
|
@ -640,6 +640,91 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
assertPermanentCount(playerA, "Pine Walker", 1);
|
||||
assertPowerToughness(playerA, "Pine Walker", 5, 5);
|
||||
assertTapped("Pine Walker", false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reflector Mage bouncing a creature that can be played as a morph should not prevent the card
|
||||
* from being replayed as a morph. Morph creatures are nameless.
|
||||
*
|
||||
* Reported bug:
|
||||
* Face-up morph creatures that are bounced by Reflector Mage should be able to be replayed as morphs
|
||||
* without the "until the next turn" restriction."
|
||||
*/
|
||||
@Test
|
||||
public void testReflectorMageBouncesFaceupCreatureReplayAsMorph() {
|
||||
|
||||
// {1}{W}{U} When Reflector Mage enters the battlefield, return target creature an opponent controls to its owner's hand.
|
||||
// That creature's owner can't cast spells with the same name as that creature until your next turn.
|
||||
addCard(Zone.HAND, playerA, "Reflector Mage"); // 2/3
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Plains", 2);
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Island", 2);
|
||||
|
||||
//Tap: Add {G}, {U}, or {R} to your mana pool.
|
||||
// Morph 2 (You may cast this card face down as a 2/2 creature for 3. Turn it face up any time for its morph cost.)
|
||||
// When Rattleclaw Mystic is turned face up, add {G}{U}{R} to your mana pool.
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Rattleclaw Mystic"); // 2/1
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Forest");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Island");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Mountain");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Reflector Mage");
|
||||
addTarget(playerA, "Rattleclaw Mystic");
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Rattleclaw Mystic");
|
||||
setChoice(playerB, "Yes"); // cast it face down as 2/2 creature
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
execute();
|
||||
|
||||
assertPermanentCount(playerA, "Reflector Mage", 1);
|
||||
assertPermanentCount(playerB, "Rattleclaw Mystic", 0);
|
||||
assertHandCount(playerB, "Rattleclaw Mystic", 0); // should have been replayed
|
||||
assertPermanentCount(playerB, "", 1); // Rattleclaw played as a morph
|
||||
}
|
||||
|
||||
/**
|
||||
* Reflector Mage bouncing a creature that can be played as a morph should not prevent the card
|
||||
* from being replayed as a morph. Morph creatures are nameless.
|
||||
*
|
||||
* Reported bug:
|
||||
* Face-up morph creatures that are bounced by Reflector Mage should be able to be replayed as morphs
|
||||
* without the "until the next turn" restriction."
|
||||
*
|
||||
* Testing bouncing a face-down creature played next turn face-up.
|
||||
*/
|
||||
@Test
|
||||
public void testReflectorMageBouncesMorphCreatureReplayAsFaceup() {
|
||||
|
||||
//Tap: Add {G}, {U}, or {R} to your mana pool.
|
||||
// Morph 2 (You may cast this card face down as a 2/2 creature for 3. Turn it face up any time for its morph cost.)
|
||||
// When Rattleclaw Mystic is turned face up, add {G}{U}{R} to your mana pool.
|
||||
addCard(Zone.HAND, playerA, "Rattleclaw Mystic"); // 2/1
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Forest");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Island");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain");
|
||||
|
||||
// {1}{W}{U} When Reflector Mage enters the battlefield, return target creature an opponent controls to its owner's hand.
|
||||
// That creature's owner can't cast spells with the same name as that creature until your next turn.
|
||||
addCard(Zone.HAND, playerB, "Reflector Mage"); // 2/3
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Plains", 2);
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Island", 2);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rattleclaw Mystic");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Reflector Mage");
|
||||
addTarget(playerB, "");
|
||||
|
||||
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Rattleclaw Mystic");
|
||||
setChoice(playerA, "No"); // cast it face down as 2/2 creature
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
execute();
|
||||
|
||||
assertPermanentCount(playerB, "Reflector Mage", 1);
|
||||
assertPermanentCount(playerA, "Rattleclaw Mystic", 1);
|
||||
assertHandCount(playerA, "Rattleclaw Mystic", 0); // should have been replayed faceup
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue