mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 03:22:00 -08:00
Two failing tests based on users' bug reports
This commit is contained in:
parent
0e2481c0a9
commit
38eaef59e0
3 changed files with 115 additions and 0 deletions
|
|
@ -0,0 +1,41 @@
|
||||||
|
package org.mage.test.cards.abilities.enters;
|
||||||
|
|
||||||
|
import junit.framework.Assert;
|
||||||
|
import mage.Constants;
|
||||||
|
import mage.game.permanent.Permanent;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author noxx
|
||||||
|
*/
|
||||||
|
public class ProteanHydraTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEnteringWithCounters() {
|
||||||
|
addCard(Constants.Zone.BATTLEFIELD, playerA, "Forest", 5);
|
||||||
|
addCard(Constants.Zone.HAND, playerA, "Protean Hydra");
|
||||||
|
|
||||||
|
castSpell(1, Constants.PhaseStep.PRECOMBAT_MAIN, playerA, "Protean Hydra");
|
||||||
|
|
||||||
|
setStopAt(1, Constants.PhaseStep.BEGIN_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertLife(playerA, 20);
|
||||||
|
assertLife(playerB, 20);
|
||||||
|
|
||||||
|
for (Permanent permanent : currentGame.getBattlefield().getAllPermanents()) {
|
||||||
|
if (permanent.getName().equals("Forest")) {
|
||||||
|
// check all mana was spent
|
||||||
|
Assert.assertTrue(permanent.isTapped());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, "Protean Hydra", 1);
|
||||||
|
|
||||||
|
Permanent proteanHydra = getPermanent("Protean Hydra", playerA.getId());
|
||||||
|
Assert.assertEquals(4, proteanHydra.getPower().getValue());
|
||||||
|
Assert.assertEquals(4, proteanHydra.getToughness().getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package org.mage.test.cards.conditional.twofaced;
|
||||||
|
|
||||||
|
import junit.framework.Assert;
|
||||||
|
import mage.Constants;
|
||||||
|
import mage.filter.Filter;
|
||||||
|
import mage.game.permanent.Permanent;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author noxx
|
||||||
|
*/
|
||||||
|
public class TwoFacedCardEffectsTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests that effects disappears when card gets transformed
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testEffectTurnedOffOnTransform() {
|
||||||
|
addCard(Constants.Zone.BATTLEFIELD, playerA, "Mayor of Avabruck");
|
||||||
|
addCard(Constants.Zone.BATTLEFIELD, playerA, "Wolfir Avenger");
|
||||||
|
addCard(Constants.Zone.BATTLEFIELD, playerA, "Elite Inquisitor");
|
||||||
|
|
||||||
|
setStopAt(2, Constants.PhaseStep.BEGIN_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
// check was transformed
|
||||||
|
assertPermanentCount(playerA, "Howlpack Alpha", 1);
|
||||||
|
|
||||||
|
// check new effect works
|
||||||
|
assertPowerToughness(playerA, "Wolfir Avenger", 4, 4, Filter.ComparisonScope.Any);
|
||||||
|
|
||||||
|
// check old effect doesn't work
|
||||||
|
Permanent eliteInquisitor = getPermanent("Elite Inquisitor", playerA.getId());
|
||||||
|
Assert.assertEquals(2, eliteInquisitor.getPower().getValue());
|
||||||
|
Assert.assertEquals(2, eliteInquisitor.getToughness().getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
package org.mage.test.cards.triggers.combat.damage;
|
||||||
|
|
||||||
|
import mage.Constants;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author noxx
|
||||||
|
*
|
||||||
|
* Whenever this creature deals combat damage to a player or planeswalker, draw that many cards.
|
||||||
|
*/
|
||||||
|
public class HuntersInsightTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDrawingCards() {
|
||||||
|
addCard(Constants.Zone.BATTLEFIELD, playerA, "Forest", 3);
|
||||||
|
addCard(Constants.Zone.HAND, playerA, "Hunter's Insight", 1);
|
||||||
|
addCard(Constants.Zone.BATTLEFIELD, playerA, "Stampeding Rhino", 1);
|
||||||
|
|
||||||
|
attack(3, playerA, "Stampeding Rhino");
|
||||||
|
castSpell(3, Constants.PhaseStep.DECLARE_BLOCKERS, playerA, "Hunter's Insight", "Stampeding Rhino");
|
||||||
|
|
||||||
|
setStopAt(3, Constants.PhaseStep.POSTCOMBAT_MAIN);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertLife(playerA, 20);
|
||||||
|
assertLife(playerB, 16);
|
||||||
|
|
||||||
|
// +1 in draw phase
|
||||||
|
// +4 in combat
|
||||||
|
assertHandCount(playerA, 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue