public void DiscardChoosesTargetsAutomaticallyIfValueIsHigherThanHandCount() { var discardValue = 2; InsertCardsIntoZone(discardValue, Enemy1, Enemy1.Hand); var discard = new DiscardActionArgs(Friend1, Enemy1, () => discardValue); discard.Execute(); Assert.AreEqual(0, Enemy1.Hand.Count); }
public void DiscardedCardsAreMovedToDiscardPile() { var discardValue = 2; InsertCardsIntoZone(discardValue, Enemy1, Enemy1.Hand); var discard = new DiscardActionArgs(Friend1, Enemy1, () => discardValue); discard.Execute(); Assert.AreEqual(0, Enemy1.Hand.Count); Assert.AreEqual(discardValue, Enemy1.DiscardPile.Count); }
public void DiscardTargetsCanChoose() { var discardValue = 1; InsertCardsIntoZone(discardValue + 1, Enemy1, Enemy1.Hand); var cardToDiscard = Enemy1.Hand.First(); var cardToKeep = Enemy1.Hand.Last(); ChoicesToMake.Add(cardToDiscard); var discard = new DiscardActionArgs(Friend1, Enemy1, () => discardValue); discard.Execute(); Assert.IsTrue(Enemy1.Hand.Contains(cardToKeep)); Assert.IsFalse(Enemy1.Hand.Contains(cardToDiscard)); }