Missed unit test

This commit is contained in:
Christian 'ketura' McCarty
2023-12-15 02:12:46 -06:00
parent 4ca93aa393
commit 1901516e10
2 changed files with 156 additions and 1 deletions

View File

@@ -0,0 +1,155 @@
package com.gempukku.lotro.cards.official.set01;
import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import com.gempukku.lotro.logic.modifiers.MoveLimitModifier;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.*;
public class Card_01_363_Tests
{
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<>() {{
put("greenleaf", "1_50");
put("moriatroop1", "1_177");
put("moriatroop2", "1_177");
put("moriatroop3", "1_177");
put("shelob", "8_26");
}},
new HashMap<>() {{
put("site1", "1_319");
put("site2", "1_327");
put("site3", "1_337");
put("site4", "1_343");
put("site5", "1_349");
put("site6", "1_350");
put("site7", "1_353");
put("site8", "1_356");
put("site9", "1_363");
}},
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
}
@Test
public void TolBrandirRuinsStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
/**
* Set: 1
* Title: Tol Brandir
* Shadow Number: 9
* Type: Site
* Site Number: 9
* Game Text: River. Shadow: Play up to 3 trackers from your discard pile; end your Shadow phase.
*/
//Pre-game setup
GenericCardTestHelper scn = GetScenario();
PhysicalCardImpl site9 = scn.GetFreepsSite(9);
assertFalse(site9.getBlueprint().isUnique());
assertEquals(CardType.SITE, site9.getBlueprint().getCardType());
assertTrue(scn.HasKeyword(site9, Keyword.RIVER)); // test for keywords as needed
assertEquals(9, site9.getBlueprint().getTwilightCost());
assertEquals(9, site9.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
}
@Test
public void TolBrandirActionPlays3TrackersAndEndsShadowPhase() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
GenericCardTestHelper scn = GetScenario();
PhysicalCardImpl moriatroop1 = scn.GetShadowCard("moriatroop1");
PhysicalCardImpl moriatroop2 = scn.GetShadowCard("moriatroop2");
PhysicalCardImpl moriatroop3 = scn.GetShadowCard("moriatroop3");
PhysicalCardImpl shelob = scn.GetShadowCard("shelob");
scn.ShadowMoveCardToHand(moriatroop1, moriatroop2, moriatroop3, shelob);
//Max out the move limit so we don't have to juggle play back and forth
scn.ApplyAdHocModifier(new MoveLimitModifier(null, 10));
scn.StartGame();
// 1 -> 3
scn.SkipToPhase(Phase.REGROUP);
scn.PassCurrentPhaseActions();
scn.ShadowDeclineReconciliation();
scn.FreepsChooseToMove();
// 3 -> 4
scn.SkipToPhase(Phase.REGROUP);
scn.PassCurrentPhaseActions();
scn.ShadowDeclineReconciliation();
scn.FreepsChooseToMove();
// 4 -> 5
scn.SkipToPhase(Phase.REGROUP);
scn.PassCurrentPhaseActions();
scn.ShadowDeclineReconciliation();
scn.FreepsChooseToMove();
// 5 -> 6
scn.SkipToPhase(Phase.REGROUP);
scn.PassCurrentPhaseActions();
scn.ShadowDeclineReconciliation();
scn.FreepsChooseToMove();
// 6 -> 7
scn.SkipToPhase(Phase.REGROUP);
scn.PassCurrentPhaseActions();
scn.ShadowDeclineReconciliation();
scn.FreepsChooseToMove();
// 7 -> 8
scn.SkipToPhase(Phase.REGROUP);
scn.PassCurrentPhaseActions();
scn.ShadowDeclineReconciliation();
scn.FreepsChooseToMove();
// 8 -> 9
scn.SkipToPhase(Phase.REGROUP);
scn.PassCurrentPhaseActions();
scn.ShadowDeclineReconciliation();
scn.FreepsChooseToMove();
scn.ShadowMoveCharToTable(moriatroop1, moriatroop2, moriatroop3, shelob);
scn.SkipToPhase(Phase.MANEUVER);
assertFalse(scn.HasKeyword(moriatroop1, Keyword.DAMAGE));
assertFalse(scn.HasKeyword(moriatroop2, Keyword.DAMAGE));
assertFalse(scn.HasKeyword(moriatroop3, Keyword.DAMAGE));
scn.AddWoundsToChar(moriatroop2, 1);
scn.AddWoundsToChar(moriatroop3, 2);
scn.AddWoundsToChar(shelob, 7);
scn.SkipToPhase(Phase.ARCHERY);
assertEquals(0, scn.GetWoundsOn(moriatroop1));
assertEquals(1, scn.GetWoundsOn(moriatroop2));
assertEquals(2, scn.GetWoundsOn(moriatroop3));
assertEquals(7, scn.GetWoundsOn(shelob));
assertFalse(scn.HasKeyword(moriatroop1, Keyword.DAMAGE));
assertTrue(scn.HasKeyword(moriatroop2, Keyword.DAMAGE));
assertEquals(1, scn.GetKeywordCount(moriatroop2, Keyword.DAMAGE));
assertTrue(scn.HasKeyword(moriatroop3, Keyword.DAMAGE));
assertEquals(2, scn.GetKeywordCount(moriatroop3, Keyword.DAMAGE));
assertTrue(scn.HasKeyword(shelob, Keyword.DAMAGE));
assertEquals(7, scn.GetKeywordCount(shelob, Keyword.DAMAGE));
}
}

View File

@@ -19,7 +19,7 @@ public class Card_11_232_ErrataTests
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<String, String>()
new HashMap<>()
{{
put("gimli", "1_13");
put("boromir", "1_97");