diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV02/setv02-Gandalf-playtest.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV02/setv02-Gandalf-playtest.hjson index 7218f785e..5c86f1109 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV02/setv02-Gandalf-playtest.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV02/setv02-Gandalf-playtest.hjson @@ -26,17 +26,26 @@ Pipeweed Support Area ] - /*requires: { - + effects: { + type: trigger + optional: true + trigger: { + type: played + filter: self + } + effect: [ + { + type: shuffleCardsFromDiscardIntoDrawDeck + filter: choose(pipe) + count: 0-1 + } + { + type: shuffleCardsFromDiscardIntoDrawDeck + filter: choose(pipeweed) + count: 0-1 + } + ] } - effects: [ - { - - } - { - - } - ]*/ gametext: Pipeweed.
When you play this possession, you may shuffle a pipe and a pipeweed into your deck from your discard pile. lore: "'How it came here, I can't imagine. For Saruman's private use, I fancy.'" promotext: "" diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vsets/set_v02/Card_V2_012_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vsets/set_v02/Card_V2_012_Tests.java index 41db25b7f..eaff7fc6e 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vsets/set_v02/Card_V2_012_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vsets/set_v02/Card_V2_012_Tests.java @@ -18,7 +18,11 @@ public class Card_V2_012_Tests return new GenericCardTestHelper( new HashMap<>() {{ - put("card", "102_12"); + put("jetsam", "102_12"); + put("pipe", "1_285"); + put("pipeweed", "1_305"); + put("pipe2", "1_285"); + put("pipeweed2", "1_305"); // put other cards in here as needed for the test case }}, GenericCardTestHelper.FellowshipSites, @@ -58,18 +62,54 @@ public class Card_V2_012_Tests assertEquals(1, card.getBlueprint().getTwilightCost()); } - // Uncomment any @Test markers below once this is ready to be used - //@Test + @Test public void JetsamTest1() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup var scn = GetScenario(); - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); + var jetsam = scn.GetFreepsCard("jetsam"); + var pipe = scn.GetFreepsCard("pipe"); + var pipeweed = scn.GetFreepsCard("pipeweed"); + // var pipe2 = scn.GetFreepsCard("pipe2"); + // var pipeweed2 = scn.GetFreepsCard("pipeweed2"); + + scn.FreepsMoveCardToHand(jetsam); + scn.FreepsMoveCardToDiscard(pipe); + scn.FreepsMoveCardToDiscard(pipeweed); scn.StartGame(); - scn.FreepsPlayCard(card); + + assertEquals(2, scn.GetFreepsDeckCount()); + assertEquals(2, scn.GetFreepsDiscardCount()); + assertEquals(0, scn.GetTwilight()); + + + scn.FreepsPlayCard(jetsam); + + + assertTrue(scn.FreepsHasOptionalTriggerAvailable()); + scn.FreepsAcceptOptionalTrigger(); + + assertTrue(scn.FreepsDecisionAvailable("")); + assertEquals(1, scn.GetFreepsCardChoiceCount()); + assertEquals(Zone.DISCARD, pipe.getZone()); + + scn.FreepsChooseCardIDFromSelection(pipe); + + assertEquals(Zone.DECK, pipe.getZone()); + + + assertEquals(1, scn.GetFreepsCardChoiceCount()); + + scn.FreepsChooseCardIDFromSelection(pipeweed); + + assertFalse(scn.FreepsHasOptionalTriggerAvailable()); + + scn.FreepsPassCurrentPhaseAction(); + + assertEquals(4, scn.GetFreepsDeckCount()); + assertEquals(0, scn.GetFreepsDiscardCount()); assertEquals(1, scn.GetTwilight()); } }