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

View File

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