public void HumanWinsWithBlackJackEnum()
        {
            var dealerCards = new DeckMock(new[]
            {
                new Card(CardFace.Eight, Suit.Hearts),
                new Card(CardFace.Ten, Suit.Diamonds),
            });

            var playerCards = new DeckMock(new[]
            {
                new Card(CardFace.Ace, Suit.Hearts),
                new Card(CardFace.Jack, Suit.Diamonds),
            });
            var playerResponse = new TestResponder(new []
            {
                StayResponse,
            });
            var player       = new Human(playerCards, playerResponse);
            var soft17Player = new Soft17Player(dealerCards);
            var console      = new ConsoleInputOutput();
            var blackjack    = new BlackJack(new List <Player> {
                player
            }, console, soft17Player);

            blackjack.StartGame();

            Assert.AreEqual(GameStatus.BlackJack, player.GameStatus);
        }
        public void NumberOfTimesPlayTurnCalledForPlayer()
        {
            var deck      = new Deck();
            var player    = new PlayerSpy(deck, OneHit);
            var dealer    = new Soft17Player(deck);
            var console   = new ConsoleInputOutput();
            var blackjack = new BlackJack(new Player[] { player }, console, dealer);

            blackjack.StartGame();

            Assert.AreEqual(1, player.NumberOfTimesTurnPlayed);
        }
Example #3
0
        public void StaysOn17()
        {
            var testDeck = new DeckMock(new[]
            {
                new Card(CardFace.Ten, Suit.Hearts),
                new Card(CardFace.Seven, Suit.Spades),
                new Card(CardFace.Jack, Suit.Diamonds),
            });
            var soft17Player = new Soft17Player(testDeck);

            soft17Player.PlayTurn();

            Assert.AreEqual(17, soft17Player.HandValue());
        }
Example #4
0
        public void StartsWithTwoCards()
        {
            var testDeck = new DeckMock(new[]
            {
                new Card(CardFace.Five, Suit.Hearts),
                new Card(CardFace.Five, Suit.Spades),
                new Card(CardFace.Eight, Suit.Clubs),
            });
            var soft17Player = new Soft17Player(testDeck);

            soft17Player.NewHand();

            Assert.AreEqual(10, soft17Player.HandValue());
        }
Example #5
0
        public void HitsUnder17()
        {
            var testDeck = new DeckMock(new[]
            {
                new Card(CardFace.Ten, Suit.Hearts),
                new Card(CardFace.Six, Suit.Spades),
                new Card(CardFace.Ten, Suit.Diamonds),
            });
            var soft17Player = new Soft17Player(testDeck);

            soft17Player.PlayTurn();

            Assert.AreEqual(26, soft17Player.HandValue());
        }
        public void EachPlayerPlaysTheirTurn()
        {
            var deck = new Deck();

            var player1 = new PlayerSpy(deck, NoHits);
            var player2 = new PlayerSpy(deck, OneHit);

            var dealer    = new Soft17Player(deck);
            var console   = new ConsoleInputOutput();
            var blackjack = new BlackJack(new Player[] { player1, player2 }, console, dealer);

            blackjack.StartGame();

            Assert.NotZero(player1.NumberOfTimesTurnPlayed);
            Assert.NotZero(player2.NumberOfTimesTurnPlayed);
        }
        public void HumanHitsAndBusts()
        {
            var player     = PlayerSpy.CreateBustedPlayer();
            var dealerDeck = new DeckMock(new[]
            {
                new Card(CardFace.Jack, Suit.Hearts),
                new Card(CardFace.Eight, Suit.Spades),
            });

            var dealer    = new Soft17Player(dealerDeck);
            var console   = new ConsoleInputOutput();
            var blackjack = new BlackJack(new List <Player> {
                player
            }, console, dealer);

            blackjack.StartGame();

            Assert.AreEqual(GameStatus.Busted, player.GameStatus);
        }
        public void DealerWins()
        {
            var player     = PlayerSpy.CreateLosingPlayer();
            var dealerDeck = new DeckMock(new[]
            {
                new Card(CardFace.Eight, Suit.Hearts),
                new Card(CardFace.Ten, Suit.Diamonds),
                new Card(CardFace.Ace, Suit.Hearts),
            });
            var dealer    = new Soft17Player(dealerDeck);
            var console   = new ConsoleInputOutput();
            var blackjack = new BlackJack(new List <Player> {
                player
            }, console, dealer);

            blackjack.StartGame();

            Assert.AreEqual(GameStatus.Won, dealer.GameStatus);
        }
        public void DealerBusts()
        {
            var player     = PlayerSpy.CreatePlayerHandValue18();
            var dealerDeck = new DeckMock(new[]
            {
                new Card(CardFace.Jack, Suit.Hearts),
                new Card(CardFace.Six, Suit.Spades),
                new Card(CardFace.Nine, Suit.Diamonds),
            });

            var dealer    = new Soft17Player(dealerDeck);
            var console   = new ConsoleInputOutput();
            var blackjack = new BlackJack(new List <Player> {
                player
            }, console, dealer);

            blackjack.StartGame();

            Assert.AreEqual(GameStatus.Busted, dealer.GameStatus);
        }