Demands of the Sacksville-Bagginses errat test cases (and the original because why not)

This commit is contained in:
Christian 'ketura' McCarty
2025-04-17 12:45:17 -05:00
parent e2c6a55e2c
commit a887cecb0c
2 changed files with 106 additions and 29 deletions

View File

@@ -17,8 +17,12 @@ public class Card_02_040_Tests
return new GenericCardTestHelper( return new GenericCardTestHelper(
new HashMap<>() new HashMap<>()
{{ {{
put("card", "2_40"); put("demands", "2_40");
// put other cards in here as needed for the test case put("savage", "1_151");
put("celeborn", "1_34");
put("rosie", "1_309");
}}, }},
GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo, GenericCardTestHelper.FOTRFrodo,
@@ -43,7 +47,7 @@ public class Card_02_040_Tests
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var card = scn.GetFreepsCard("demands");
assertEquals("Demands of the Sackville-Bagginses", card.getBlueprint().getTitle()); assertEquals("Demands of the Sackville-Bagginses", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle()); assertNull(card.getBlueprint().getSubtitle());
@@ -55,18 +59,58 @@ public class Card_02_040_Tests
assertEquals(1, card.getBlueprint().getTwilightCost()); assertEquals(1, card.getBlueprint().getTwilightCost());
} }
// Uncomment any @Test markers below once this is ready to be used @Test
//@Test public void DemandsoftheSackvilleBagginsesRequiresIsengardMinionToPlay() throws DecisionResultInvalidException, CardNotFoundException {
public void DemandsofthebrSackvilleBagginsesTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup //Pre-game setup
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var demands = scn.GetShadowCard("demands");
scn.FreepsMoveCardToHand(card); var savage = scn.GetShadowCard("savage");
scn.ShadowMoveCardToHand(demands, savage);
scn.StartGame(); 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()); assertEquals(1, scn.GetTwilight());
} }
} }

View File

@@ -20,8 +20,12 @@ public class Card_02_040_ErrataTests
return new GenericCardTestHelper( return new GenericCardTestHelper(
new HashMap<>() new HashMap<>()
{{ {{
put("card", "52_40"); put("demands", "52_40");
// put other cards in here as needed for the test case put("savage", "1_151");
put("celeborn", "1_34");
put("rosie", "1_309");
}}, }},
GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo, GenericCardTestHelper.FOTRFrodo,
@@ -46,7 +50,7 @@ public class Card_02_040_ErrataTests
var scn = GetScenario(); var scn = GetScenario();
var card = scn.GetFreepsCard("card"); var card = scn.GetFreepsCard("demands");
assertEquals("Demands of the Sackville-Bagginses", card.getBlueprint().getTitle()); assertEquals("Demands of the Sackville-Bagginses", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle()); assertNull(card.getBlueprint().getSubtitle());
@@ -58,29 +62,58 @@ public class Card_02_040_ErrataTests
assertEquals(1, card.getBlueprint().getTwilightCost()); assertEquals(1, card.getBlueprint().getTwilightCost());
} }
// Uncomment any @Test markers below once this is ready to be used @Test
//@Test public void DemandsoftheSackvilleBagginsesRequiresIsengardMinionToPlay() throws DecisionResultInvalidException, CardNotFoundException {
public void DemandsoftheSackvilleBagginsesTest1() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup //Pre-game setup
var scn = GetScenario(); var scn = GetScenario();
// var card = scn.GetFreepsCard("card"); var demands = scn.GetShadowCard("demands");
// scn.FreepsMoveCardToHand(card); var savage = scn.GetShadowCard("savage");
// scn.FreepsMoveCharToTable(card); scn.ShadowMoveCardToHand(demands, savage);
// 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);
scn.StartGame(); 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()); 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());
}
} }