From 7b28b6a5455d7009a98f803b79a235660eaf4cbd Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 25 May 2014 17:37:20 +0200 Subject: [PATCH] Added possibility to choose resolve order of triggered abilities for tests. --- .../java/org/mage/test/player/TestPlayer.java | 18 ++++++++++++++++-- .../base/impl/CardTestPlayerAPIImpl.java | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java index 4ece5b331cc..e728f1ed727 100644 --- a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java +++ b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java @@ -56,6 +56,7 @@ import java.util.Map; import java.util.UUID; import mage.abilities.Mode; import mage.abilities.Modes; +import mage.abilities.TriggeredAbility; import mage.filter.common.FilterCreatureForCombatBlock; import mage.filter.common.FilterPlaneswalkerPermanent; import mage.game.stack.StackObject; @@ -288,7 +289,20 @@ public class TestPlayer extends ComputerPlayer { return super.chooseTarget(outcome, target, source, game); } - @Override + @Override + public TriggeredAbility chooseTriggeredAbility(List abilities, Game game) { + if (!choices.isEmpty()) { + for(TriggeredAbility ability :abilities) { + if (choices.get(0).equals(ability.toString())) { + choices.remove(0); + return ability; + } + } + } + return super.chooseTriggeredAbility(abilities, game); + } + + @Override public boolean chooseUse(Outcome outcome, String message, Game game) { if (!choices.isEmpty()) { if (choices.get(0).equals("No")) { @@ -315,7 +329,7 @@ public class TestPlayer extends ComputerPlayer { if (groups.length > 2 && groups[2].startsWith("spellOnStack=")) { String spellOnStack = groups[2].substring(13); for (StackObject stackObject: game.getStack()) { - if (stackObject.getName().equals(spellOnStack)) { + if (stackObject.getStackAbility().toString().equals(spellOnStack)) { return true; } } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java index 6f76a26b7a7..43fcfc32fb6 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java @@ -642,7 +642,7 @@ public abstract class CardTestPlayerAPIImpl extends MageTestPlayerBase implement } /** - * Spell will only be cast, if a spell with the given name is already on the stack + * Spell will only be cast, if a spell / ability with the given name is on the stack * * @param turnNum * @param step