mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
TestCase: fix Manifest test
This commit is contained in:
@@ -294,11 +294,6 @@ public class GameCopier {
|
||||
newCard.turnFaceDown(true);
|
||||
if (c.isManifested()) {
|
||||
newCard.setManifested(true);
|
||||
// TODO: Should be able to copy other abilities...
|
||||
if (isCreature && hasManaCost) {
|
||||
newCard.getState(CardStateName.Original).addSpellAbility(
|
||||
CardFactoryUtil.abilityManifestFaceUp(newCard, newCard.getManaCost()));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (c.isMonstrous()) {
|
||||
|
||||
@@ -17,7 +17,6 @@ import forge.game.player.Player;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
import forge.game.spellability.TargetChoices;
|
||||
import forge.game.spellability.TargetRestrictions;
|
||||
import forge.util.TextUtil;
|
||||
|
||||
public class GameSimulator {
|
||||
public static boolean COPY_STACK = false;
|
||||
@@ -125,11 +124,13 @@ public class GameSimulator {
|
||||
}
|
||||
|
||||
private SpellAbility findSaInSimGame(SpellAbility sa) {
|
||||
// is already an ability from sim game
|
||||
if (sa.getHostCard().getGame().equals(this.simGame)) {
|
||||
return sa;
|
||||
}
|
||||
Card origHostCard = sa.getHostCard();
|
||||
Card hostCard = (Card) copier.find(origHostCard);
|
||||
String desc = sa.getDescription();
|
||||
// FIXME: This is a hack that makes testManifest pass - figure out why it's needed.
|
||||
desc = TextUtil.fastReplace(desc, "Unmanifest {0}", "Unmanifest no cost");
|
||||
for (SpellAbility cSa : hostCard.getSpellAbilities()) {
|
||||
if (desc.startsWith(cSa.getDescription())) {
|
||||
return cSa;
|
||||
|
||||
@@ -177,7 +177,7 @@ public class CardFactoryUtil {
|
||||
// Cost need to be set later
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("ST$ SetState | Cost$ 0 | CostDesc$ Unmanifest ").append(costDesc);
|
||||
sb.append(" | ManifestUp$ True | Secondary$ True | IsPresent$ Card.Self+faceDown+manifested");
|
||||
sb.append(" | ManifestUp$ True | Secondary$ True | PresentDefined$ Self | IsPresent$ Card.faceDown+manifested");
|
||||
sb.append(" | Mode$ TurnFace | SpellDescription$ (Turn this face up any time for its mana cost.)");
|
||||
|
||||
final SpellAbility manifestUp = AbilityFactory.getAbility(sb.toString(), sourceCard);
|
||||
|
||||
@@ -304,14 +304,18 @@ public class GameSimulatorTest extends SimulationTestCase {
|
||||
Card manifestedCreature = findCardWithName(simGame, "");
|
||||
assertNotNull(manifestedCreature);
|
||||
|
||||
SpellAbility unmanifestSA = findSAWithPrefix(manifestedCreature, "Unmanifest");
|
||||
SpellAbility unmanifestSA = findSAWithPrefix(manifestedCreature.getAllPossibleAbilities(p, false), "Unmanifest");
|
||||
assertNotNull(unmanifestSA);
|
||||
assertEquals(2, manifestedCreature.getNetPower());
|
||||
assertFalse(manifestedCreature.hasKeyword("Flying"));
|
||||
|
||||
GameSimulator sim2 = createSimulator(simGame, simGame.getPlayers().get(1));
|
||||
sim2.simulateSpellAbility(unmanifestSA);
|
||||
Game simGame2 = sim2.getSimulatedGameState();
|
||||
manifestedCreature = findCardWithName(simGame2, "");
|
||||
unmanifestSA = findSAWithPrefix(manifestedCreature.getAllPossibleAbilities(simGame2.getPlayers().get(1), false), "Unmanifest");
|
||||
|
||||
sim2.simulateSpellAbility(unmanifestSA);
|
||||
|
||||
Card ornithopter = findCardWithName(simGame2, "Ornithopter");
|
||||
assertEquals(0, ornithopter.getNetPower());
|
||||
assertTrue(ornithopter.hasKeyword("Flying"));
|
||||
|
||||
Reference in New Issue
Block a user