Exemplo n.º 1
0
        static void Main(string[] args)
        {
            IBlackjackTable table = new BlackjackTable();
            IBlackjackPlayer player1 = new BlackjackPlayer {Balance = 2000, Ante = 20};
            IBlackjackPlayer player2 = new BlackjackPlayer {Balance = 3000, Ante = 30};
            table.AddPlayer(player1);
            table.AddPlayer(player2);

            table.ShuffleShoe();

            PerformOneGame(table);
        }
Exemplo n.º 2
0
        public void can_add_players_to_table()
        {
            // Arrange
            var table = new BlackjackTable();
            var player = Substitute.For<IBlackjackPlayer>();

            // Act
            table.AddPlayer(player);

            // Assert
            table.Players.Count().Should().Equal(1);
            table.Players.ElementAt(0).Should().Be.SameAs(player);
        }
Exemplo n.º 3
0
        public void start_new_game_calls_new_game_on_each_player()
        {
            // Arrange
            var table = new BlackjackTable();
            var player1 = Substitute.For<IBlackjackPlayer>();
            var player2 = Substitute.For<IBlackjackPlayer>();

            table.AddPlayer(player1);
            table.AddPlayer(player2);

            // Act
            table.StartNewGame();

            // Assert
            player1.Received().StartNewGame();
            player2.Received().StartNewGame();
        }
Exemplo n.º 4
0
        public void call_for_bets_calls_place_bet_on_each_player()
        {
            // Arrange
            var table = new BlackjackTable();
            var player1 = Substitute.For<IBlackjackPlayer>();
            var player2 = Substitute.For<IBlackjackPlayer>();

            table.AddPlayer(player1);
            table.AddPlayer(player2);

            // Act
            table.CallForBets();

            // Assert
            player1.Received().PlaceBet();
            player2.Received().PlaceBet();
        }
Exemplo n.º 5
0
        public void offer_splits_calls_offer_split_on_each_player()
        {
            // Arrange
            var table = new BlackjackTable();
            var player1 = Substitute.For<IBlackjackPlayer>();
            var player2 = Substitute.For<IBlackjackPlayer>();
            var card = Substitute.For<IBlackjackCard>();
            table.DealerHand.AddCard(card);
            table.DealerHand.AddCard(card);
            table.AddPlayer(player1);
            table.AddPlayer(player2);

            // Act
            table.OfferSplits();

            // Assert
            player1.Received().OfferSplit(card);
            player2.Received().OfferSplit(card);
        }
Exemplo n.º 6
0
        public void start_new_game_resets_dealers_hand()
        {
            // Arrange
            var table = new BlackjackTable();
            var hand = table.DealerHand;
            var card = Substitute.For<IBlackjackCard>();
            hand.AddCard(card);
            hand.GetCards().Count().Should().Equal(1);

            // Act
            table.StartNewGame();

            // Assert
            table.DealerHand.GetCards().Count().Should().Equal(0);
        }
Exemplo n.º 7
0
        public void table_has_a_shoe_of_cards()
        {
            // Arrange
            var table = new BlackjackTable();

            // Act
            var shoe = table.Shoe;

            // Assert
            shoe.Should().Not.Be.Null();
            shoe.CardCount().Should().Not.Equal(0);
        }
Exemplo n.º 8
0
        public void table_has_a_dealer_hand()
        {
            // Arrange
            var table = new BlackjackTable();

            // Act
            var dealerHand = table.DealerHand;

            // Assert
            dealerHand.Should().Not.Be.Null();
            dealerHand.GetCards().Should().Not.Be.Null();
        }