Uruk Raider errata test cases (plus the original because why not)

This commit is contained in:
Christian 'ketura' McCarty
2025-04-17 13:00:33 -05:00
parent a887cecb0c
commit 6c7a15b2d8
2 changed files with 130 additions and 13 deletions

View File

@@ -17,8 +17,10 @@ public class Card_03_074_Tests
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "3_74");
// put other cards in here as needed for the test case
put("raider", "3_74");
put("demands", "2_40");
put("celeborn", "1_34");
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
@@ -46,7 +48,7 @@ public class Card_03_074_Tests
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
var card = scn.GetFreepsCard("raider");
assertEquals("Uruk Raider", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
@@ -63,18 +65,27 @@ public class Card_03_074_Tests
assertEquals(5, card.getBlueprint().getSiteNumber());
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void UrukRaiderTest1() throws DecisionResultInvalidException, CardNotFoundException {
@Test
public void UrukRaiderIsStrengthPlus3AndFierceWhileAllyIsInDeadPile() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
scn.FreepsMoveCardToHand(card);
var celeborn = scn.GetFreepsCard("celeborn");
scn.FreepsMoveCardToHand(celeborn);
var raider = scn.GetShadowCard("raider");
scn.ShadowMoveCharToTable(raider);
scn.StartGame();
scn.FreepsPlayCard(card);
assertEquals(2, scn.GetTwilight());
assertEquals(Zone.HAND, celeborn.getZone());
assertEquals(6, scn.GetStrength(raider));
assertFalse(scn.hasKeyword(raider, Keyword.FIERCE));
scn.FreepsMoveCardToDeadPile(celeborn);
assertEquals(Zone.DEAD, celeborn.getZone());
assertEquals(9, scn.GetStrength(raider));
assertTrue(scn.hasKeyword(raider, Keyword.FIERCE));
}
}

View File

@@ -17,8 +17,10 @@ public class Card_03_074_ErrataTests
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "53_74");
// put other cards in here as needed for the test case
put("raider", "53_74");
put("demands", "2_40");
put("rosie", "1_309");
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
@@ -48,7 +50,7 @@ public class Card_03_074_ErrataTests
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
var card = scn.GetFreepsCard("raider");
assertEquals("Uruk Raider", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
@@ -65,6 +67,110 @@ public class Card_03_074_ErrataTests
assertEquals(5, card.getBlueprint().getSiteNumber());
}
@Test
public void UrukRaiderIsStrengthPlus3AndFierceWhileAllyIsInDeadPile() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var rosie = scn.GetFreepsCard("rosie");
scn.FreepsMoveCardToHand(rosie);
var raider = scn.GetShadowCard("raider");
scn.ShadowMoveCharToTable(raider);
scn.StartGame();
assertEquals(Zone.HAND, rosie.getZone());
assertEquals(6, scn.GetStrength(raider));
assertFalse(scn.hasKeyword(raider, Keyword.FIERCE));
scn.FreepsMoveCardToDeadPile(rosie);
assertEquals(Zone.DEAD, rosie.getZone());
assertEquals(9, scn.GetStrength(raider));
assertTrue(scn.hasKeyword(raider, Keyword.FIERCE));
}
@Test
public void UrukRaiderCannotRespondToAllyExertionIfNoOtherIsengardCard() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var rosie = scn.GetFreepsCard("rosie");
scn.FreepsMoveCardToSupportArea(rosie);
var raider = scn.GetShadowCard("raider");
scn.ShadowMoveCharToTable(raider);
scn.StartGame();
assertEquals(0, scn.GetWoundsOn(raider));
assertEquals(0, scn.GetWoundsOn(rosie));
assertEquals(Zone.SUPPORT, rosie.getZone());
scn.FreepsUseCardAction(rosie);
assertFalse(scn.ShadowHasOptionalTriggerAvailable());
assertEquals(Zone.SUPPORT, rosie.getZone());
assertEquals(0, scn.GetWoundsOn(raider));
assertEquals(1, scn.GetWoundsOn(rosie));
}
@Test
public void UrukRaiderCannotRespondToAllyExertionIfSpotsOtherIsengardCardButCannotExert() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var rosie = scn.GetFreepsCard("rosie");
scn.FreepsMoveCardToSupportArea(rosie);
var raider = scn.GetShadowCard("raider");
var demands = scn.GetShadowCard("demands");
scn.ShadowMoveCharToTable(raider);
scn.ShadowMoveCardToSupportArea(demands);
scn.AddWoundsToChar(raider, 1);
scn.StartGame();
assertEquals(1, scn.GetWoundsOn(raider));
assertEquals(0, scn.GetWoundsOn(rosie));
assertEquals(Zone.SUPPORT, rosie.getZone());
scn.FreepsUseCardAction(rosie);
assertFalse(scn.ShadowHasOptionalTriggerAvailable());
assertEquals(Zone.SUPPORT, rosie.getZone());
assertEquals(1, scn.GetWoundsOn(raider));
assertEquals(1, scn.GetWoundsOn(rosie));
}
@Test
public void UrukRaiderCanSpotAnotherIsengardCardAndExertToWoundExertingAlly() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
var rosie = scn.GetFreepsCard("rosie");
scn.FreepsMoveCardToSupportArea(rosie);
var raider = scn.GetShadowCard("raider");
var demands = scn.GetShadowCard("demands");
scn.ShadowMoveCharToTable(raider);
scn.ShadowMoveCardToSupportArea(demands);
scn.StartGame();
assertEquals(0, scn.GetWoundsOn(raider));
assertEquals(0, scn.GetWoundsOn(rosie));
assertEquals(Zone.SUPPORT, rosie.getZone());
scn.FreepsUseCardAction(rosie);
assertTrue(scn.ShadowHasOptionalTriggerAvailable());
scn.ShadowAcceptOptionalTrigger();
assertEquals(Zone.DEAD, rosie.getZone());
assertEquals(1, scn.GetWoundsOn(raider));
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void UrukRaiderTest1() throws DecisionResultInvalidException, CardNotFoundException {