diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java new file mode 100644 index 000000000..c006f0a40 --- /dev/null +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java @@ -0,0 +1,73 @@ +package com.gempukku.lotro.at; + +import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.common.Zone; +import com.gempukku.lotro.game.PhysicalCardImpl; +import com.gempukku.lotro.logic.decisions.AwaitingDecision; +import com.gempukku.lotro.logic.decisions.AwaitingDecisionType; +import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; +import org.junit.Test; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +import static junit.framework.Assert.assertEquals; + +public class IndividualCardAtTest extends AbstractAtTest { + @Test + public void dwarvenAxeDoesNotFreeze() throws DecisionResultInvalidException { + Map> extraCards = new HashMap>(); + initializeSimplestGame(extraCards); + + PhysicalCardImpl gimli = new PhysicalCardImpl(100, "1_13", P1, _library.getLotroCardBlueprint("1_13")); + PhysicalCardImpl dwarvenAxe = new PhysicalCardImpl(101, "1_9", P1, _library.getLotroCardBlueprint("1_9")); + PhysicalCardImpl goblinRunner = new PhysicalCardImpl(102, "1_178", P2, _library.getLotroCardBlueprint("1_178")); + + skipMulligans(); + + _game.getGameState().addCardToZone(_game, gimli, Zone.FREE_CHARACTERS); + _game.getGameState().attachCard(_game, dwarvenAxe, gimli); + + // End fellowship phase + assertEquals(Phase.FELLOWSHIP, _game.getGameState().getCurrentPhase()); + playerDecided(P1, ""); + + _game.getGameState().addCardToZone(_game, goblinRunner, Zone.SHADOW_CHARACTERS); + + // End shadow phase + assertEquals(Phase.SHADOW, _game.getGameState().getCurrentPhase()); + playerDecided(P2, ""); + + // End maneuver phase + playerDecided(P1, ""); + playerDecided(P2, ""); + + // End archery phase + playerDecided(P1, ""); + playerDecided(P2, ""); + + // End assignment phase + playerDecided(P1, ""); + playerDecided(P2, ""); + + // Assign + playerDecided(P1, gimli.getCardId() + " " + goblinRunner.getCardId()); + + // Start skirmish + playerDecided(P1, String.valueOf(gimli.getCardId())); + + // End skirmish phase + playerDecided(P1, ""); + playerDecided(P2, ""); + + final AwaitingDecision awaitingDecision = _userFeedback.getAwaitingDecision(P1); + assertEquals(AwaitingDecisionType.ACTION_CHOICE, awaitingDecision.getDecisionType()); + validateContents(new String[]{"1_9", "rules"}, (String[]) awaitingDecision.getDecisionParameters().get("blueprintId")); + + playerDecided(P1, "0"); + + assertEquals(Phase.REGROUP, _game.getGameState().getCurrentPhase()); + assertEquals(Zone.DISCARD, goblinRunner.getZone()); + } +}