From ae7159297b513caed689e49e35a97054bc5873de Mon Sep 17 00:00:00 2001 From: marthinwurer Date: Sat, 30 Aug 2025 20:03:54 -0600 Subject: [PATCH] made simulation test extend ai test --- .../forge/ai/simulation/SimulationTest.java | 130 +----------------- 1 file changed, 2 insertions(+), 128 deletions(-) diff --git a/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTest.java b/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTest.java index d3481d2b46b..89a5551180e 100644 --- a/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTest.java +++ b/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTest.java @@ -1,15 +1,13 @@ package forge.ai.simulation; -import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import com.google.common.collect.Lists; -import forge.GuiDesktop; -import forge.StaticData; import forge.ai.AIOption; +import forge.ai.AITest; import forge.ai.LobbyPlayerAi; import forge.ai.simulation.GameStateEvaluator.Score; import forge.deck.Deck; @@ -18,21 +16,12 @@ import forge.game.GameRules; import forge.game.GameStage; import forge.game.GameType; import forge.game.Match; -import forge.game.card.Card; -import forge.game.card.CardCollectionView; -import forge.game.card.CardFactory; import forge.game.player.Player; import forge.game.player.RegisteredPlayer; -import forge.game.spellability.SpellAbility; -import forge.game.zone.ZoneType; -import forge.gui.GuiBase; -import forge.item.IPaperCard; -import forge.item.PaperToken; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -public class SimulationTest { - private static boolean initialized = false; +public class SimulationTest extends AITest { public Game resetGame() { // need to be done after FModel.initialize, or the Localizer isn't loaded yet @@ -53,19 +42,6 @@ public class SimulationTest { return game; } - protected Game initAndCreateGame() { - if (!initialized) { - GuiBase.setInterface(new GuiDesktop()); - FModel.initialize(null, preferences -> { - preferences.setPref(FPref.LOAD_CARD_SCRIPTS_LAZILY, false); - preferences.setPref(FPref.UI_LANGUAGE, "en-US"); - return null; - }); - initialized = true; - } - - return resetGame(); - } protected GameSimulator createSimulator(Game game, Player p) { return new GameSimulator(new SimulationController(new Score(0)) { @@ -75,106 +51,4 @@ public class SimulationTest { } }, game, p, null); } - - protected int countCardsWithName(Game game, String name) { - int i = 0; - for (Card c : game.getCardsIn(ZoneType.Battlefield)) { - if (c.getName().equals(name)) { - i++; - } - } - return i; - } - - protected Card findCardWithName(Game game, String name) { - for (Card c : game.getCardsIn(ZoneType.Battlefield)) { - if (c.getName().equals(name)) { - return c; - } - } - return null; - } - - protected String gameStateToString(Game game) { - StringBuilder sb = new StringBuilder(); - for (ZoneType zone : ZoneType.values()) { - CardCollectionView cards = game.getCardsIn(zone); - if (!cards.isEmpty()) { - sb.append("Zone ").append(zone.name()).append(":\n"); - for (Card c : game.getCardsIn(zone)) { - sb.append(" ").append(c).append("\n"); - } - } - } - return sb.toString(); - } - - protected SpellAbility findSAWithPrefix(Card c, String prefix) { - return findSAWithPrefix(c.getSpellAbilities(), prefix); - } - - protected SpellAbility findSAWithPrefix(Iterable abilities, String prefix) { - for (SpellAbility sa : abilities) { - if (sa.getDescription().startsWith(prefix)) { - return sa; - } - } - return null; - } - - protected Card createCard(String name, Player p) { - IPaperCard paperCard = FModel.getMagicDb().getCommonCards().getCard(name); - if (paperCard == null) { - StaticData.instance().attemptToLoadCard(name); - paperCard = FModel.getMagicDb().getCommonCards().getCard(name); - } - return Card.fromPaperCard(paperCard, p); - } - - protected Card addCardToZone(String name, Player p, ZoneType zone) { - Card c = createCard(name, p); - // card need a new Timestamp otherwise Static Abilities might collide - c.setGameTimestamp(p.getGame().getNextTimestamp()); - p.getZone(zone).add(c); - return c; - } - - protected Card addCard(String name, Player p) { - return addCardToZone(name, p, ZoneType.Battlefield); - } - - protected List addCards(String name, int count, Player p) { - List cards = Lists.newArrayList(); - for (int i = 0; i < count; i++) { - cards.add(addCard(name, p)); - } - return cards; - } - - protected Card createToken(String name, Player p) { - PaperToken token = FModel.getMagicDb().getAllTokens().getToken(name); - if (token == null) { - System.out.println("Failed to find token name " + name); - return null; - } - return CardFactory.getCard(token, p, p.getGame()); - } - - protected List addTokens(String name, int amount, Player p) { - List cards = new ArrayList<>(); - - for(int i = 0; i < amount; i++) { - cards.add(addToken(name, p)); - } - - return cards; - } - - protected Card addToken(String name, Player p) { - Card c = createToken(name, p); - // card need a new Timestamp otherwise Static Abilities might collide - c.setGameTimestamp(p.getGame().getNextTimestamp()); - p.getZone(ZoneType.Battlefield).add(c); - return c; - } }