From 1272d6ceb516097044a051a616207b8f1e4594e5 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Mon, 5 Jun 2023 20:08:17 -0500 Subject: [PATCH] Enquea TOTO full unit tests --- .../set10/set10-Ringwraith-errata.hjson | 10 +-- .../errata/set10/Card_10_068_ErrataTests.java | 66 ++++++++++++++++--- 2 files changed, 60 insertions(+), 16 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set10/set10-Ringwraith-errata.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set10/set10-Ringwraith-errata.hjson index 3c5dccc42..6edeefa8e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set10/set10-Ringwraith-errata.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set10/set10-Ringwraith-errata.hjson @@ -36,10 +36,6 @@ strength: 11 vitality: 4 site: 3 - requires: { - type: canSpot - filter: orc - } effects: [ { type: modifier @@ -50,7 +46,7 @@ type: phase phase: skirmish } - by: shadow + by: side(shadow) } }, { @@ -58,7 +54,7 @@ phase: skirmish requires: { type: CanSpot - filter: self,InSkirmish + filter: self,wounded,InSkirmish } cost: [ { @@ -66,7 +62,7 @@ amount: 1 } { - type: exert + type: heal filter: self } ] diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set10/Card_10_068_ErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set10/Card_10_068_ErrataTests.java index 6ff10487a..55533c679 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set10/Card_10_068_ErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set10/Card_10_068_ErrataTests.java @@ -8,8 +8,7 @@ import org.junit.Test; import java.util.HashMap; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; public class Card_10_068_ErrataTests { @@ -19,7 +18,10 @@ public class Card_10_068_ErrataTests new HashMap<>() {{ put("enquea", "80_68"); - // put other cards in here as needed for the test case + put("darkness", "8_68"); + + put("rider", "4_286"); + put("mount", "4_287"); }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -62,17 +64,63 @@ public class Card_10_068_ErrataTests assertEquals(3, enquea.getBlueprint().getSiteNumber()); } - //@Test - public void UlaireEnqueaTest1() throws DecisionResultInvalidException, CardNotFoundException { + @Test + public void EnqueaCannotBeExertedByShadowCardsDuringSkirmish() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup var scn = GetScenario(); - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); + var rider = scn.GetFreepsCard("rider"); + var mount = scn.GetFreepsCard("mount"); + scn.FreepsMoveCharToTable(rider); + scn.FreepsAttachCardsTo(rider, mount); + + var enquea = scn.GetShadowCard("enquea"); + var darkness = scn.GetShadowCard("darkness"); + scn.ShadowMoveCharToTable(enquea); + scn.ShadowMoveCardToHand(darkness); scn.StartGame(); - scn.FreepsPlayCard(card); + scn.SetTwilight(10); + scn.AddWoundsToChar(enquea, 1); - assertEquals(6, scn.GetTwilight()); + scn.SkipToAssignments(); + scn.FreepsAssignToMinions(rider, enquea); + + assertEquals(1, scn.GetWoundsOn(enquea)); + scn.FreepsResolveSkirmish(rider); + // Freeps cards can exert Enquea fine + assertEquals(2, scn.GetWoundsOn(enquea)); + scn.FreepsPassCurrentPhaseAction(); + // Shadow cards cannot exert Enquea + assertFalse(scn.ShadowPlayAvailable(darkness)); + } + + @Test + public void SkirmishActionRemoves1TwilightAndHealsEnqueaToAddBurden() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + var scn = GetScenario(); + + var frodo = scn.GetRingBearer(); + + var enquea = scn.GetShadowCard("enquea"); + scn.ShadowMoveCharToTable(enquea); + + scn.StartGame(); + scn.AddWoundsToChar(enquea, 2); + + scn.SkipToAssignments(); + scn.FreepsAssignToMinions(frodo, enquea); + scn.FreepsResolveSkirmish(frodo); + scn.FreepsPassCurrentPhaseAction(); + + assertEquals(2, scn.GetWoundsOn(enquea)); + assertEquals(3, scn.GetTwilight()); + assertEquals(1, scn.GetBurdens()); // starts with 1 for some reason, the bid maybe? + assertTrue(scn.ShadowActionAvailable(enquea)); + + scn.ShadowUseCardAction(enquea); + assertEquals(1, scn.GetWoundsOn(enquea)); + assertEquals(2, scn.GetTwilight()); + assertEquals(2, scn.GetBurdens()); } }