diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Orc.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Orc.hjson index fb553aca6..2877bd28c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Orc.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Orc.hjson @@ -828,6 +828,7 @@ } effect: { type: choice + player: free people texts: [ Add a burden Discard a card from hand diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set12/Card_12_098_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set12/Card_12_098_Tests.java index 18111e859..bc2155f3e 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set12/Card_12_098_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set12/Card_12_098_Tests.java @@ -3,12 +3,12 @@ package com.gempukku.lotro.cards.official.set12; import com.gempukku.lotro.cards.GenericCardTestHelper; import com.gempukku.lotro.common.*; import com.gempukku.lotro.game.CardNotFoundException; -import com.gempukku.lotro.game.PhysicalCardImpl; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; import org.junit.Test; import java.util.HashMap; +import static com.gempukku.lotro.at.AbstractAtTest.P1; import static org.junit.Assert.*; public class Card_12_098_Tests @@ -19,7 +19,7 @@ public class Card_12_098_Tests new HashMap<>() {{ put("card", "12_98"); - // put other cards in here as needed for the test case + put("card2", "12_98"); }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -62,18 +62,73 @@ public class Card_12_098_Tests assertEquals(4, card.getBlueprint().getSiteNumber()); } - // Uncomment any @Test markers below once this is ready to be used - //@Test - public void OrcTormentorTest1() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup + @Test + public void FreepDiscardsAfterAssigningToOrcTormentor() throws DecisionResultInvalidException, CardNotFoundException { + // Arrange var scn = GetScenario(); - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); + var card = scn.GetShadowCard("card"); + var card2 = scn.GetFreepsCard("card2"); + var frodo = scn.GetRingBearer(); + scn.ShadowMoveCardToHand(card); + scn.FreepsMoveCardToHand(card2); scn.StartGame(); - scn.FreepsPlayCard(card); - assertEquals(2, scn.GetTwilight()); + scn.SetTwilight(20); + + scn.FreepsPassCurrentPhaseAction(); + + scn.ShadowPlayCard(card); + scn.ShadowPassCurrentPhaseAction(); + + scn.SkipToAssignments(); + assertTrue(scn.FreepsCanAssign(card)); + + // Act + scn.FreepsAssignToMinions(frodo, card); + var decision = scn.GetAwaitingDecision(P1); + assertNotNull(decision); + + assertEquals(1, scn.GetFreepsHandCount()); + scn.playerDecided(P1, "1"); + + // Assert + assertEquals(0, scn.GetFreepsHandCount()); + } + + @Test + public void FreepBurdensAfterAssigningToOrcTormentor() throws DecisionResultInvalidException, CardNotFoundException { + // Arrange + var scn = GetScenario(); + + var card = scn.GetShadowCard("card"); + var card2 = scn.GetFreepsCard("card2"); + var frodo = scn.GetRingBearer(); + scn.ShadowMoveCardToHand(card); + scn.FreepsMoveCardToHand(card2); + + scn.StartGame(); + + scn.SetTwilight(20); + + scn.FreepsPassCurrentPhaseAction(); + + scn.ShadowPlayCard(card); + scn.ShadowPassCurrentPhaseAction(); + + scn.SkipToAssignments(); + assertTrue(scn.FreepsCanAssign(card)); + + // Act + scn.FreepsAssignToMinions(frodo, card); + var decision = scn.GetAwaitingDecision(P1); + assertNotNull(decision); + + assertEquals(1, scn.GetBurdens()); + scn.playerDecided(P1, "0"); + + // Assert + assertEquals(2, scn.GetBurdens()); } }