Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }