Exemple #1
0
        public void MaximumFiveCardsInHand()
        {
            var cards = new Card[6];

            cards = TestMethods.ToCards("♥10♦J♥Q♥K♣A♣4");
            Player player = new Player("Gustav");

            CollectionAssert.AreEqual(player.Hand, new Card[] { null, null, null, null, null });
            Assert.Throws <IndexOutOfRangeException>(() => player.DrawCards(cards));
        }
Exemple #2
0
        public void CardsCanBeAddedToHand()
        {
            var cards = new Card[5];

            cards = TestMethods.ToCards("♥10♥J♥Q♥K♥A");
            Player player = new Player("Gustav");

            player.DrawCards(cards);
            for (int i = 0; i < 5; ++i)
            {
                var takeData = cards.Take(i + 1);
                CollectionAssert.AreEqual(cards.Take(i + 1), player.Hand.Take(i + 1));
            }
        }
Exemple #3
0
        public void CanClearPiles()
        {
            //assemble
            var cards = new Card[5];

            cards = TestMethods.ToCards("♣10♠J♥Q♦K♦10");
            Player player = new Player("Gustav");

            player.DrawCards(cards);
            player.Discard = TestMethods.ToCards("♣K♠2♥3");
            //act
            player.ClearPiles();
            //assert
            CollectionAssert.AreEqual(player.Hand, new Card[] { null, null, null, null, null });
            CollectionAssert.AreEqual(player.Discard, new Card[] { null, null, null, null, null });
        }
Exemple #4
0
        public void CardsCanBeDiscarded()
        {
            //assemble
            var cards = new Card[5];

            cards = TestMethods.ToCards("♥10♥J♥Q♥K♥A");
            Player player = new Player("Gustav");

            player.DrawCards(cards);
            var cardsToDiscard = TestMethods.ToCards("♥10♥K♥A");

            player.Discard = cardsToDiscard;
            //act
            player.DiscardCards();
            //assert
            for (var i = 0; i < cardsToDiscard.Length; i++)
            {
                CollectionAssert.DoesNotContain(player.Hand, cardsToDiscard[i]);
            }
        }
Exemple #5
0
        public void CanSortHand()
        {
            //assemble
            var cards = new Card[5];

            cards = TestMethods.ToCards("♣10♠J♥Q♦K♦10");
            Player player = new Player("Gustav");

            player.DrawCards(cards);
            //act
            player.SortHand();
            //assert
            for (var i = 0; i < player.Hand.Length - 1; i++)
            {
                Assert.LessOrEqual(player.Hand[i].Rank, player.Hand[i + 1].Rank);
                if (player.Hand[i].Rank == player.Hand[i + 1].Rank)
                {
                    Assert.Less(player.Hand[i].Suite, player.Hand[i + 1].Suite);
                }
            }
        }