Merge pull request #3037 from drmDev/ut/multani

#2984 UT confirming bug
This commit is contained in:
Derek M 2017-03-28 12:58:29 -04:00 committed by GitHub
commit fa453815ed
2 changed files with 71 additions and 3 deletions

View file

@ -0,0 +1,71 @@
package org.mage.test.cards.single;
import mage.abilities.Ability;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.ShroudAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
import java.util.List;
/**
* Created by escplan9
*/
public class MultaniTest extends CardTestPlayerBase {
@Test
public void pathbreakerTrampleShouldOnlyLastUntilEOT() {
/*
Multani, Maro-Sorcerer {4}{G}{G}
Legendary Creature Elemental * / *
Shroud
Multani, Maro-Sorcerer's power and toughness are each equal to the total number of cards in all players' hands.
*/
String multani = "Multani, Maro-Sorcerer";
/*
Hall of the Bandit Lord
Legendary Land
Hall of the Bandit Lord enters the battlefield tapped.
{T}, Pay 3 life: Add {1} to your mana pool. If that mana is spent on a creature spell, it gains haste.
*/
String hBandit = "Hall of the Bandit Lord";
/*
Pathbreaker Ibex {4}{G}{G}
Creature Goat 3/3
Whenever Pathbreaker Ibex attacks, creatures you control gain trample and get +X/+X until end of turn, where X is the greatest power among creatures you control.
*/
String pIbex = "Pathbreaker Ibex";
addCard(Zone.HAND, playerA, multani);
addCard(Zone.HAND, playerA, pIbex);
addCard(Zone.BATTLEFIELD, playerA, hBandit);
addCard(Zone.BATTLEFIELD, playerA, "Forest", 5);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, multani); // 5 forests and 1 colorless from Hall pay for it, granting it haste and losing 3 life
attack(1, playerA, multani);
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, pIbex); // 5 forests and 1 colorless from Hall pay for it, granting it haste and losing 3 life
attack(3, playerA, multani);
attack(3, playerA, pIbex);
setStopAt(4, PhaseStep.PRECOMBAT_MAIN); // make sure trample has not carried over
execute();
assertLife(playerA, 14); // hall of bandit activated twice
assertTapped(hBandit, true);
assertTapped(multani, true);
assertTapped(pIbex, true);
assertPermanentCount(playerA, pIbex, 1);
assertPermanentCount(playerA, multani, 1);
assertAbility(playerA, pIbex, HasteAbility.getInstance(), true);
assertAbility(playerA, multani, HasteAbility.getInstance(), true);
assertAbility(playerA, multani, ShroudAbility.getInstance(), true);
assertAbility(playerA, multani, TrampleAbility.getInstance(), false);
assertAbility(playerA, pIbex, TrampleAbility.getInstance(), false);
}
}

View file

@ -33,7 +33,6 @@ public class HallOfTheBanditLordTest extends CardTestPlayerBase {
execute(); execute();
this.assertAbility(playerA, "Goblin Roughrider", HasteAbility.getInstance(), true); this.assertAbility(playerA, "Goblin Roughrider", HasteAbility.getInstance(), true);
} }
// test that a creature cast not using Hall of the Bandit Lord mana does not gain haste // test that a creature cast not using Hall of the Bandit Lord mana does not gain haste
@ -49,7 +48,5 @@ public class HallOfTheBanditLordTest extends CardTestPlayerBase {
execute(); execute();
this.assertAbility(playerA, "Ember Hauler", HasteAbility.getInstance(), false); this.assertAbility(playerA, "Ember Hauler", HasteAbility.getInstance(), false);
} }
} }