Exemple #1
0
        public void settle_bet_with_equal_hands_returns_zero()
        {
            // Arrange
            IBlackjackBet bet = new AnteBet(100);
            IBlackjackPlayer player = new BlackjackPlayer { Balance = 900 };

            var dealerHand = Substitute.For<IDealerHand>();
            var playerHand = Substitute.For<IPlayerHand>();
            playerHand.Busted.Returns(false);
            dealerHand.Busted.Returns(false);
            playerHand.Value().Returns(20);
            dealerHand.Value().Returns(20);

            playerHand.Bet.Returns(bet);

            // Act
            var amount = player.SettleBet(playerHand, dealerHand);

            // Assert
            amount.Should().Equal(0.0);
        }
Exemple #2
0
        public void settle_bet_when_only_dealer_busted_returns_negative_win_amount()
        {
            // Arrange
            IBlackjackPlayer player = new BlackjackPlayer();
            IBlackjackBet bet = new AnteBet(100);

            var dealerHand = Substitute.For<IDealerHand>();
            var playerHand = Substitute.For<IPlayerHand>();
            playerHand.Busted.Returns(false);
            dealerHand.Busted.Returns(true);

            playerHand.Bet.Returns(bet);

            // Act
            var amount = player.SettleBet(playerHand, dealerHand);

            // Assert
            amount.Should().Equal(-100.0);
        }
Exemple #3
0
        public void settle_bet_with_equal_hands_changes_bet_to_push_bet()
        {
            // Arrange
            IBlackjackBet bet = new AnteBet(100);
            IBlackjackPlayer player = new BlackjackPlayer { Balance = 900 };

            var dealerHand = Substitute.For<IDealerHand>();
            var playerHand = Substitute.For<IPlayerHand>();
            playerHand.Busted.Returns(false);
            dealerHand.Busted.Returns(false);
            playerHand.Value().Returns(20);
            dealerHand.Value().Returns(20);

            playerHand.Bet.Returns(bet);

            // Act
            player.SettleBet(playerHand, dealerHand);

            // Assert
            playerHand.Bet.Should().Be.OfType<PushBet>();
        }
Exemple #4
0
        public void settle_bet_when_only_dealer_busted_credits_players_balance()
        {
            // Arrange
            IBlackjackBet bet = new AnteBet(100);
            IBlackjackPlayer player = new BlackjackPlayer {Balance = 900};

            var dealerHand = Substitute.For<IDealerHand>();
            var playerHand = Substitute.For<IPlayerHand>();
            playerHand.Busted.Returns(false);
            dealerHand.Busted.Returns(true);

            playerHand.Bet.Returns(bet);

            // Act
            player.SettleBet(playerHand, dealerHand);

            // Assert
            player.Balance.Should().Equal(1100.0);
        }