Ejemplo n.º 1
0
        public void SnapHandAddOneCountOk()
        {
            IHand hand = new SnapHand();

            hand.Add(new SnapCard(Suit.Spades, Rank.Ace));

            Assert.AreEqual(1, hand.Count);
        }
Ejemplo n.º 2
0
        public void SnapHandAddOneCorrectCard()
        {
            IHand hand = new SnapHand();
            var   card = new SnapCard(Suit.Spades, Rank.Ace);

            hand.Add(card);

            Assert.AreEqual(card, hand.Peek());
        }
Ejemplo n.º 3
0
        public void SnapHandAddManyCountOk()
        {
            const int ExpectedCount = 5;

            IHand hand = new SnapHand();

            for (var i = 0; i < ExpectedCount; i++)
            {
                hand.Add(new SnapCard(Suit.Spades, (Rank)(i + 1)));
            }

            Assert.AreEqual(5, hand.Count);
        }
Ejemplo n.º 4
0
        public async Task PlayerCheckForMatchAsyncFailsWhenCentralPileIsEmpty()
        {
            // Arrange
            var hand        = new SnapHand();
            var player      = new SnapPlayer("Player 1", hand);
            var centralPile = new SnapCentralPile();

            // Act
            var test = await player.CheckForMatchAsync(centralPile);

            // Assert
            Assert.IsFalse(test);
        }
Ejemplo n.º 5
0
        public async Task PlayerCheckForMatchAsyncFailsWhenNotPresent()
        {
            // Arrange
            var hand        = new SnapHand();
            var player      = new SnapPlayer("Player 1", hand);
            var centralPile = new SnapCentralPile();

            centralPile.Add(new SnapCard(Suit.Hearts, Rank.Queen));
            centralPile.Add(new SnapCard(Suit.Clubs, Rank.King));

            // Act
            var test = await player.CheckForMatchAsync(centralPile);

            // Assert
            Assert.IsFalse(test);
        }
Ejemplo n.º 6
0
        public void SnapHandAddManyCorrectCards()
        {
            IHand hand  = new SnapHand();
            var   cards = new List <SnapCard> {
                new SnapCard(Suit.Spades, Rank.Ace),
                new SnapCard(Suit.Spades, Rank.Two),
                new SnapCard(Suit.Diamonds, Rank.Three),
                new SnapCard(Suit.Spades, Rank.Four),
                new SnapCard(Suit.Spades, Rank.Five)
            };

            foreach (var card in cards)
            {
                hand.Add(card);
            }

            Assert.IsTrue(hand.GetAll().SequenceEqual(cards));
        }
Ejemplo n.º 7
0
        public void SnapHandPeekCorrectCard()
        {
            // Arrange
            IHand hand  = new SnapHand();
            var   cards = new List <SnapCard> {
                new SnapCard(Suit.Spades, Rank.Ace),
                new SnapCard(Suit.Spades, Rank.Two),
                new SnapCard(Suit.Diamonds, Rank.Three),
                new SnapCard(Suit.Spades, Rank.Four),
                new SnapCard(Suit.Spades, Rank.Five)
            };

            foreach (var card in cards)
            {
                hand.Add(card);
            }

            // Act
            var check = cards.First();
            var test  = hand.Peek();

            Assert.AreEqual(check.Rank, test.Rank);
            Assert.AreEqual(check.Suit, test.Suit);
        }