From dad03f5df86d68d16a9e361807509b18615f0d46 Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Tue, 11 Feb 2025 20:19:06 -0500 Subject: [PATCH 1/9] Begin testing morgul spawn --- .../official/set07/Card_07_200_Tests.java | 45 ++++++++++++++++++- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java index c40097b7f..912ecf1a0 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java @@ -63,8 +63,8 @@ public class Card_07_200_Tests } // Uncomment any @Test markers below once this is ready to be used - //@Test - public void MorgulSpawnTest1() throws DecisionResultInvalidException, CardNotFoundException { + @Test + public void MorgulSpawnTest0() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup var scn = GetScenario(); @@ -72,8 +72,49 @@ public class Card_07_200_Tests scn.FreepsMoveCardToHand(card); scn.StartGame(); + scn.SkipToPhase(Phase.SHADOW); + scn.setTwilightPool(4); + assertTrue(scn.FreepsPlayAvailable(card)); scn.FreepsPlayCard(card); assertEquals(4, scn.GetTwilight()); } + + // Uncomment any @Test markers below once this is ready to be used + @Test + public void MorgulSpawnTest1() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + var scn = GetScenario(); + + var card = scn.GetShadowCard("card"); + scn.ShadowMoveCardToHand(card); + + scn.StartGame(); + scn.setTwilightPool(4); + scn.FreepsPassCurrentPhaseAction(); + assertTrue(scn.ShadowPlayAvailable(card)); + scn.ShadowPlayCard(card); + + assertEquals(0, scn.GetTwilight()); + } + + @Test + public void CopiesOfDifferentUniqueMinionWithAccentCannotBePlayed() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + GenericCardTestHelper scn = GetScenario(); + + var card = scn.GetShadowCard("card"); + + scn.ShadowMoveCardToHand(card); + + scn.StartGame(); + + scn.SetTwilight(20); + + scn.FreepsPassCurrentPhaseAction(); + + assertTrue(scn.ShadowPlayAvailable(card)); + scn.ShadowPlayCard(card); + assertEquals(16, scn.GetTwilight()); + } } From 8efc965fe7d4a8825a3c93ced752fef58367d8e8 Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Tue, 11 Feb 2025 20:22:13 -0500 Subject: [PATCH 2/9] Test playing card --- .../official/set07/Card_07_200_Tests.java | 39 +------------------ 1 file changed, 1 insertion(+), 38 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java index 912ecf1a0..0d8ea1f13 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java @@ -3,7 +3,6 @@ package com.gempukku.lotro.cards.official.set07; 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; @@ -62,44 +61,8 @@ public class Card_07_200_Tests assertEquals(4, card.getBlueprint().getSiteNumber()); } - // Uncomment any @Test markers below once this is ready to be used - @Test - public void MorgulSpawnTest0() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup - var scn = GetScenario(); - - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); - - scn.StartGame(); - scn.SkipToPhase(Phase.SHADOW); - scn.setTwilightPool(4); - assertTrue(scn.FreepsPlayAvailable(card)); - scn.FreepsPlayCard(card); - - assertEquals(4, scn.GetTwilight()); - } - - // Uncomment any @Test markers below once this is ready to be used @Test public void MorgulSpawnTest1() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup - var scn = GetScenario(); - - var card = scn.GetShadowCard("card"); - scn.ShadowMoveCardToHand(card); - - scn.StartGame(); - scn.setTwilightPool(4); - scn.FreepsPassCurrentPhaseAction(); - assertTrue(scn.ShadowPlayAvailable(card)); - scn.ShadowPlayCard(card); - - assertEquals(0, scn.GetTwilight()); - } - - @Test - public void CopiesOfDifferentUniqueMinionWithAccentCannotBePlayed() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetScenario(); @@ -115,6 +78,6 @@ public class Card_07_200_Tests assertTrue(scn.ShadowPlayAvailable(card)); scn.ShadowPlayCard(card); - assertEquals(16, scn.GetTwilight()); + assertEquals(17, scn.GetTwilight()); } } From 84a9500f86b4df83d89aa0a598fffcbebc2bc886 Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Tue, 11 Feb 2025 21:59:50 -0500 Subject: [PATCH 3/9] Get to morgul decision --- .../cards/official/set07/Card_07_200_Tests.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java index 0d8ea1f13..1ba077b4d 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java @@ -18,7 +18,7 @@ public class Card_07_200_Tests new HashMap<>() {{ put("card", "7_200"); - // put other cards in here as needed for the test case + put("enque", "1_231"); }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -67,17 +67,28 @@ public class Card_07_200_Tests GenericCardTestHelper scn = GetScenario(); var card = scn.GetShadowCard("card"); + var enque = scn.GetShadowCard("enque"); scn.ShadowMoveCardToHand(card); + scn.ShadowMoveCardToHand(enque); scn.StartGame(); scn.SetTwilight(20); + // Fellowship scn.FreepsPassCurrentPhaseAction(); - assertTrue(scn.ShadowPlayAvailable(card)); + // Shadow scn.ShadowPlayCard(card); - assertEquals(17, scn.GetTwilight()); + scn.ShadowPlayCard(enque); + scn.ShadowPassCurrentPhaseAction(); + + // Maneuver + scn.SkipToAssignments(); + + // Assignments + assertTrue(scn.FreepsDecisionAvailable( + "Would you like to exert a companion to be able to assign Morgul Spawn to skirmish?")); } } From eda06592b488a328d810fe704964604cb187687d Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Tue, 11 Feb 2025 22:18:46 -0500 Subject: [PATCH 4/9] Test exertion --- .../lotro/cards/official/set07/Card_07_200_Tests.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java index 1ba077b4d..040d69094 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java @@ -8,6 +8,7 @@ import org.junit.Test; import java.util.HashMap; +import static com.gempukku.lotro.at.AbstractAtTest.P1; import static org.junit.Assert.*; public class Card_07_200_Tests @@ -90,5 +91,11 @@ public class Card_07_200_Tests // Assignments assertTrue(scn.FreepsDecisionAvailable( "Would you like to exert a companion to be able to assign Morgul Spawn to skirmish?")); + + // Act + scn.playerDecided(P1, "0"); + + // Assert + assertTrue(scn.FreepsDecisionAvailable("exert")); } } From 1dd0a36e5560e38b06f3a535374a6fea2b6b3b16 Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Sat, 15 Feb 2025 20:42:50 -0500 Subject: [PATCH 5/9] Test that can assign --- .../lotro/cards/official/set07/Card_07_200_Tests.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java index 040d69094..44ea19ef2 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java @@ -9,6 +9,7 @@ import org.junit.Test; import java.util.HashMap; import static com.gempukku.lotro.at.AbstractAtTest.P1; +import static com.gempukku.lotro.cards.GenericCardTestHelper.FOTRFrodo; import static org.junit.Assert.*; public class Card_07_200_Tests @@ -22,7 +23,7 @@ public class Card_07_200_Tests put("enque", "1_231"); }}, GenericCardTestHelper.FellowshipSites, - GenericCardTestHelper.FOTRFrodo, + FOTRFrodo, GenericCardTestHelper.RulingRing ); } @@ -69,6 +70,7 @@ public class Card_07_200_Tests var card = scn.GetShadowCard("card"); var enque = scn.GetShadowCard("enque"); + var frodo = scn.GetRingBearer(); scn.ShadowMoveCardToHand(card); scn.ShadowMoveCardToHand(enque); @@ -96,6 +98,7 @@ public class Card_07_200_Tests scn.playerDecided(P1, "0"); // Assert - assertTrue(scn.FreepsDecisionAvailable("exert")); + assertEquals(1, scn.GetWoundsOn(frodo)); + assertTrue(scn.FreepsCanAssign(card)); } } From a50206299a4926067535f456a039fe194f96308d Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Sat, 15 Feb 2025 20:44:56 -0500 Subject: [PATCH 6/9] Clean up --- .../official/set07/Card_07_200_Tests.java | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java index 44ea19ef2..175b3a302 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_200_Tests.java @@ -9,7 +9,6 @@ import org.junit.Test; import java.util.HashMap; import static com.gempukku.lotro.at.AbstractAtTest.P1; -import static com.gempukku.lotro.cards.GenericCardTestHelper.FOTRFrodo; import static org.junit.Assert.*; public class Card_07_200_Tests @@ -20,10 +19,10 @@ public class Card_07_200_Tests new HashMap<>() {{ put("card", "7_200"); - put("enque", "1_231"); + put("enquea", "1_231"); }}, GenericCardTestHelper.FellowshipSites, - FOTRFrodo, + GenericCardTestHelper.FOTRFrodo, GenericCardTestHelper.RulingRing ); } @@ -64,33 +63,29 @@ public class Card_07_200_Tests } @Test - public void MorgulSpawnTest1() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup + public void MustExertToAssignMorgulSpawn() throws DecisionResultInvalidException, CardNotFoundException { + // Arrange GenericCardTestHelper scn = GetScenario(); var card = scn.GetShadowCard("card"); - var enque = scn.GetShadowCard("enque"); + var enquea = scn.GetShadowCard("enquea"); var frodo = scn.GetRingBearer(); scn.ShadowMoveCardToHand(card); - scn.ShadowMoveCardToHand(enque); + scn.ShadowMoveCardToHand(enquea); scn.StartGame(); scn.SetTwilight(20); - // Fellowship scn.FreepsPassCurrentPhaseAction(); - // Shadow scn.ShadowPlayCard(card); - scn.ShadowPlayCard(enque); + scn.ShadowPlayCard(enquea); scn.ShadowPassCurrentPhaseAction(); - // Maneuver scn.SkipToAssignments(); - // Assignments assertTrue(scn.FreepsDecisionAvailable( "Would you like to exert a companion to be able to assign Morgul Spawn to skirmish?")); From 1aa8f34180647b46504bfe03a4a9c2d6a8bab1e2 Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Sat, 15 Feb 2025 20:49:11 -0500 Subject: [PATCH 7/9] Test morgul regiment effect --- .../official/set07/Card_07_197_Tests.java | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_197_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_197_Tests.java index f1c0fe43f..2d8646f2a 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_197_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_197_Tests.java @@ -9,6 +9,7 @@ import org.junit.Test; import java.util.HashMap; +import static com.gempukku.lotro.at.AbstractAtTest.P1; import static org.junit.Assert.*; public class Card_07_197_Tests @@ -19,7 +20,7 @@ public class Card_07_197_Tests new HashMap<>() {{ put("card", "7_197"); - // put other cards in here as needed for the test case + put("enquea", "1_231"); }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -62,18 +63,38 @@ public class Card_07_197_Tests assertEquals(4, card.getBlueprint().getSiteNumber()); } - // Uncomment any @Test markers below once this is ready to be used - //@Test - public void MorgulRegimentTest1() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup - var scn = GetScenario(); + @Test + public void MustExertToAssignMorgulRegiment() throws DecisionResultInvalidException, CardNotFoundException { + // Arrange + GenericCardTestHelper scn = GetScenario(); - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); + var card = scn.GetShadowCard("card"); + var enquea = scn.GetShadowCard("enquea"); + var frodo = scn.GetRingBearer(); + + scn.ShadowMoveCardToHand(card); + scn.ShadowMoveCardToHand(enquea); scn.StartGame(); - scn.FreepsPlayCard(card); - assertEquals(7, scn.GetTwilight()); + scn.SetTwilight(20); + + scn.FreepsPassCurrentPhaseAction(); + + scn.ShadowPlayCard(card); + scn.ShadowPlayCard(enquea); + scn.ShadowPassCurrentPhaseAction(); + + scn.SkipToAssignments(); + + assertTrue(scn.FreepsDecisionAvailable( + "Would you like to exert a companion for each Nazgûl you can spot to be able to assign Morgul Regiment to skirmish?")); + + // Act + scn.playerDecided(P1, "0"); + + // Assert + assertEquals(1, scn.GetWoundsOn(frodo)); + assertTrue(scn.FreepsCanAssign(card)); } } From fbc20cbc0252c7838f606e864dab5b8e4f61d520 Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Sat, 15 Feb 2025 20:52:19 -0500 Subject: [PATCH 8/9] Test morgul spearman effect --- .../official/set07/Card_07_201_Tests.java | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_201_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_201_Tests.java index a93437712..adf83a3d1 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_201_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set07/Card_07_201_Tests.java @@ -9,6 +9,7 @@ import org.junit.Test; import java.util.HashMap; +import static com.gempukku.lotro.at.AbstractAtTest.P1; import static org.junit.Assert.*; public class Card_07_201_Tests @@ -19,7 +20,7 @@ public class Card_07_201_Tests new HashMap<>() {{ put("card", "7_201"); - // put other cards in here as needed for the test case + put("enquea", "1_231"); }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -62,18 +63,38 @@ public class Card_07_201_Tests assertEquals(4, card.getBlueprint().getSiteNumber()); } - // Uncomment any @Test markers below once this is ready to be used - //@Test - public void MorgulSpearmanTest1() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup - var scn = GetScenario(); + @Test + public void MustExertToAssignMorgulSpearman() throws DecisionResultInvalidException, CardNotFoundException { + // Arrange + GenericCardTestHelper scn = GetScenario(); - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); + var card = scn.GetShadowCard("card"); + var enquea = scn.GetShadowCard("enquea"); + var frodo = scn.GetRingBearer(); + + scn.ShadowMoveCardToHand(card); + scn.ShadowMoveCardToHand(enquea); scn.StartGame(); - scn.FreepsPlayCard(card); - assertEquals(2, scn.GetTwilight()); + scn.SetTwilight(20); + + scn.FreepsPassCurrentPhaseAction(); + + scn.ShadowPlayCard(card); + scn.ShadowPlayCard(enquea); + scn.ShadowPassCurrentPhaseAction(); + + scn.SkipToAssignments(); + + assertTrue(scn.FreepsDecisionAvailable( + "Would you like to exert a companion to be able to assign Morgul Spearman to skirmish?")); + + // Act + scn.playerDecided(P1, "0"); + + // Assert + assertEquals(1, scn.GetWoundsOn(frodo)); + assertTrue(scn.FreepsCanAssign(card)); } } From c81458070ac1d77a8c1fca90134dab267b0db840 Mon Sep 17 00:00:00 2001 From: Nathaniel Bond Date: Sat, 15 Feb 2025 20:52:58 -0500 Subject: [PATCH 9/9] Fix morgul spearman text --- .../main/resources/cards/official/set07/set07-Ringwraith.hjson | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set07/set07-Ringwraith.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set07/set07-Ringwraith.hjson index a4d711de7..67fa1d5bb 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set07/set07-Ringwraith.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set07/set07-Ringwraith.hjson @@ -1420,7 +1420,7 @@ effects: [ { type: assignmentCost - text: Would you like to exert a companion to be able to assign Morgul Spawn to skirmish? + text: Would you like to exert a companion to be able to assign Morgul Spearman to skirmish? requires: { type: canSpot filter: nazgul