diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set02/Card_02_040_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set02/Card_02_040_Tests.java index 2f99d78f5..889db4bf4 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set02/Card_02_040_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set02/Card_02_040_Tests.java @@ -17,8 +17,12 @@ public class Card_02_040_Tests return new GenericCardTestHelper( new HashMap<>() {{ - put("card", "2_40"); - // put other cards in here as needed for the test case + put("demands", "2_40"); + put("savage", "1_151"); + + put("celeborn", "1_34"); + put("rosie", "1_309"); + }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -43,7 +47,7 @@ public class Card_02_040_Tests var scn = GetScenario(); - var card = scn.GetFreepsCard("card"); + var card = scn.GetFreepsCard("demands"); assertEquals("Demands of the Sackville-Bagginses", card.getBlueprint().getTitle()); assertNull(card.getBlueprint().getSubtitle()); @@ -55,18 +59,58 @@ public class Card_02_040_Tests assertEquals(1, card.getBlueprint().getTwilightCost()); } - // Uncomment any @Test markers below once this is ready to be used - //@Test - public void DemandsofthebrSackvilleBagginsesTest1() throws DecisionResultInvalidException, CardNotFoundException { + @Test + public void DemandsoftheSackvilleBagginsesRequiresIsengardMinionToPlay() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup var scn = GetScenario(); - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); + var demands = scn.GetShadowCard("demands"); + var savage = scn.GetShadowCard("savage"); + scn.ShadowMoveCardToHand(demands, savage); scn.StartGame(); - scn.FreepsPlayCard(card); + scn.SetTwilight(10); + scn.FreepsPassCurrentPhaseAction(); + assertFalse(scn.ShadowPlayAvailable(demands)); + scn.ShadowPlayCard(savage); + assertTrue(scn.ShadowPlayAvailable(demands)); + } + + + @Test + public void DemandsoftheSackvilleBagginsesAddsNothingWhenNonShireAllyExerts() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + var scn = GetScenario(); + + var celeborn = scn.GetFreepsCard("celeborn"); + scn.FreepsMoveCardToSupportArea(celeborn); + + var demands = scn.GetShadowCard("demands"); + scn.ShadowMoveCardToSupportArea(demands); + + scn.StartGame(); + + assertEquals(0, scn.GetTwilight()); + scn.FreepsUseCardAction(celeborn); + assertEquals(0, scn.GetTwilight()); + } + + @Test + public void DemandsoftheSackvilleBagginsesAdds1WhenShireAllyExerts() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + var scn = GetScenario(); + + var rosie = scn.GetFreepsCard("rosie"); + scn.FreepsMoveCardToSupportArea(rosie); + + var demands = scn.GetShadowCard("demands"); + scn.ShadowMoveCardToSupportArea(demands); + + scn.StartGame(); + + assertEquals(0, scn.GetTwilight()); + scn.FreepsUseCardAction(rosie); assertEquals(1, scn.GetTwilight()); } } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set02/Card_02_040_ErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set02/Card_02_040_ErrataTests.java index 2e81b5b02..7da69ff7e 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set02/Card_02_040_ErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set02/Card_02_040_ErrataTests.java @@ -20,8 +20,12 @@ public class Card_02_040_ErrataTests return new GenericCardTestHelper( new HashMap<>() {{ - put("card", "52_40"); - // put other cards in here as needed for the test case + put("demands", "52_40"); + put("savage", "1_151"); + + put("celeborn", "1_34"); + put("rosie", "1_309"); + }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -46,7 +50,7 @@ public class Card_02_040_ErrataTests var scn = GetScenario(); - var card = scn.GetFreepsCard("card"); + var card = scn.GetFreepsCard("demands"); assertEquals("Demands of the Sackville-Bagginses", card.getBlueprint().getTitle()); assertNull(card.getBlueprint().getSubtitle()); @@ -58,29 +62,58 @@ public class Card_02_040_ErrataTests assertEquals(1, card.getBlueprint().getTwilightCost()); } - // Uncomment any @Test markers below once this is ready to be used - //@Test - public void DemandsoftheSackvilleBagginsesTest1() throws DecisionResultInvalidException, CardNotFoundException { + @Test + public void DemandsoftheSackvilleBagginsesRequiresIsengardMinionToPlay() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup var scn = GetScenario(); -// var card = scn.GetFreepsCard("card"); -// scn.FreepsMoveCardToHand(card); -// scn.FreepsMoveCharToTable(card); -// scn.FreepsMoveCardToSupportArea(card); -// scn.FreepsMoveCardToDiscard(card); -// scn.FreepsMoveCardsToTopOfDeck(card); - - var card = scn.GetShadowCard("card"); - scn.ShadowMoveCardToHand(card); - scn.ShadowMoveCharToTable(card); - scn.ShadowMoveCardToSupportArea(card); - scn.ShadowMoveCardToDiscard(card); - scn.ShadowMoveCardsToTopOfDeck(card); + var demands = scn.GetShadowCard("demands"); + var savage = scn.GetShadowCard("savage"); + scn.ShadowMoveCardToHand(demands, savage); scn.StartGame(); - scn.FreepsPlayCard(card); + scn.SetTwilight(10); + scn.FreepsPassCurrentPhaseAction(); + assertFalse(scn.ShadowPlayAvailable(demands)); + scn.ShadowPlayCard(savage); + assertTrue(scn.ShadowPlayAvailable(demands)); + } + + + @Test + public void DemandsoftheSackvilleBagginsesAdds1WhenNonShireAllyExerts() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + var scn = GetScenario(); + + var celeborn = scn.GetFreepsCard("celeborn"); + scn.FreepsMoveCardToSupportArea(celeborn); + + var demands = scn.GetShadowCard("demands"); + scn.ShadowMoveCardToSupportArea(demands); + + scn.StartGame(); + + assertEquals(0, scn.GetTwilight()); + scn.FreepsUseCardAction(celeborn); assertEquals(1, scn.GetTwilight()); } + + @Test + public void DemandsoftheSackvilleBagginsesAdds2WhenShireAllyExerts() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + var scn = GetScenario(); + + var rosie = scn.GetFreepsCard("rosie"); + scn.FreepsMoveCardToSupportArea(rosie); + + var demands = scn.GetShadowCard("demands"); + scn.ShadowMoveCardToSupportArea(demands); + + scn.StartGame(); + + assertEquals(0, scn.GetTwilight()); + scn.FreepsUseCardAction(rosie); + assertEquals(2, scn.GetTwilight()); + } }