Fixed that the information what mana was payed to pay the mana cost of a spell or ability were not correct if "spend mana as though" abilities were involved in the payment (fixes #3604).

This commit is contained in:
LevelX2 2017-07-10 16:53:02 +02:00
parent dc5007003b
commit 5a3243890d
8 changed files with 109 additions and 23 deletions

View file

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package org.mage.test.cards.abilities.enters;
import mage.constants.PhaseStep;
@ -90,9 +89,14 @@ public class GreenbeltRampagerTest extends CardTestPlayerBase {
@Test
public void testCastNotOwned() {
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 10);
addCard(Zone.HAND, playerA, "Gonti, Lord of Luxury");
// Deathtouch
// When Gonti, Lord of Luxury enters the battlefield, look at the top four cards of target opponent's library, exile one of them face down,
// then put the rest on the bottom of that library in a random order. For as long as that card remains exiled,
// you may look at it, you may cast it, and you may spend mana as though it were mana of any type to cast it.
addCard(Zone.HAND, playerA, "Gonti, Lord of Luxury"); // Creature {2}{B}{B}
addCard(Zone.LIBRARY, playerB, "Greenbelt Rampager");
// When Greenbelt Rampager enters the battlefield, pay {E}{E}. If you can't, return Greenbelt Rampager to its owner's hand and you get {E}.
addCard(Zone.LIBRARY, playerB, "Greenbelt Rampager"); // Creature {G} 3/4
skipInitShuffling();

View file

@ -8,10 +8,38 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
public class MycosynthLatticeTest extends CardTestPlayerBase {
@Test
public void testMycoSynthLatticeNormal() {
// Converge - Crystalline Crawler enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.
// Remove a +1/+1 counter from Crystalline Crawler: Add one mana of any color to your mana pool.
// {T}: Put a +1/+1 counter on Crystalline Crawler.
String crawler = "Crystalline Crawler";
addCard(Zone.BATTLEFIELD, playerA, "Plains");
addCard(Zone.BATTLEFIELD, playerA, "Island");
addCard(Zone.BATTLEFIELD, playerA, "Swamp");
addCard(Zone.BATTLEFIELD, playerA, "Mountain");
addCard(Zone.HAND, playerA, crawler);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, crawler);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute();
assertCounterCount(playerA, crawler, CounterType.P1P1, 4);
}
@Test
public void testMycoSynthLatticeWithCrystallineCrawler(){
public void testMycoSynthLatticeWithCrystallineCrawler() {
// Converge - Crystalline Crawler enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.
// Remove a +1/+1 counter from Crystalline Crawler: Add one mana of any color to your mana pool.
// {T}: Put a +1/+1 counter on Crystalline Crawler.
String crawler = "Crystalline Crawler";
// All permanents are artifacts in addition to their other types.
// All cards that aren't on the battlefield, spells, and permanents are colorless.
// Players may spend mana as though it were mana of any color.
String lattice = "Mycosynth Lattice";
addCard(Zone.BATTLEFIELD, playerA, lattice);