Beispiel #1
0
        public void CreateGameTest()
        {
            var bot  = new UsualBaseStrategyBot(1000, minimumRate);
            var game = new Game(bot);

            Assert.DoesNotThrow(() => game.CreateGame(countDecksInOne));
        }
Beispiel #2
0
        public void ActionAfterBlackjackTest()
        {
            var bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);

            bot.TakeCard(new UsualCard(CardNames.Ten, CardSuits.Diamond));
            bot.TakeCard(new AceCard(CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new AceCard(CardSuits.Diamond));

            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Stand);
        }
Beispiel #3
0
        public void NextGamePreparationTest()
        {
            var bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);

            bot.Win();
            Assert.IsTrue(bot.Rate == exampleStartRate);

            bot.Lose();
            Assert.IsTrue(bot.Rate == exampleStartRate);
        }
Beispiel #4
0
        public void DealerHandOutCardsTest()
        {
            var dealer   = new Dealer();
            var bot      = new UsualBaseStrategyBot(10, 1);
            var gameDeck = new DeckOfCards(countDecksInOne);

            dealer.HandOutCards(gameDeck, bot);
            Assert.IsNotNull(bot.CardsInHand);
            Assert.IsTrue(bot.CardsInHand.Count() == 2);
        }
Beispiel #5
0
        public void GetNextTurnAfterSoftTotalsTest()
        {
            var bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);

            // Expected Player: 11 + 2 && Dealer: 2 => Hit
            bot.TakeCard(new AceCard(CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Two, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new UsualCard(CardNames.Two, CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Hit);

            bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);
            // Expected Player: 11 + 5 && Dealer: 5 => Double
            bot.TakeCard(new AceCard(CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Five, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new UsualCard(CardNames.Five, CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Double);

            bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);
            // Expected Player: 11 + 9 && Dealer: 8 => Stand
            bot.TakeCard(new AceCard(CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Nine, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new UsualCard(CardNames.Eight, CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Stand);

            bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);
            // Expected Player: 11 + 10 && Dealer: 9 => Blackjack
            bot.TakeCard(new AceCard(CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Ten, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new UsualCard(CardNames.Nine, CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Blackjack);

            bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);
            // Expected Player: 11 + 10 && Dealer: 10 => Blackjack, but dealer have 10
            bot.TakeCard(new AceCard(CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Ten, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new UsualCard(CardNames.Ten, CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Stand);

            bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);
            // Expected Player: 11 + 10 && Dealer: 10 => Stand
            bot.TakeCard(new AceCard(CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Ten, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new AceCard(CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Stand);
        }
Beispiel #6
0
        public void GetNextTurnAfterHardTotalsTest()
        {
            var bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);

            // Expected Player: 5 + 2 && Dealer: 2 => Hit
            bot.TakeCard(new UsualCard(CardNames.Five, CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Two, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new UsualCard(CardNames.Two, CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Hit);

            bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);
            // Expected Player: 11 + 5 && Dealer: 5 => Double
            bot.TakeCard(new UsualCard(CardNames.Six, CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Five, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new UsualCard(CardNames.Five, CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Double);

            bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);
            // Expected Player: 11 + 9 && Dealer: 8 => Stand
            bot.TakeCard(new UsualCard(CardNames.Nine, CardSuits.Diamond));
            bot.TakeCard(new UsualCard(CardNames.Nine, CardSuits.Diamond));
            bot.MakeNextPlayerTurn(new UsualCard(CardNames.Eight, CardSuits.Diamond));
            Assert.IsTrue(bot.PlayerTurnNow == PlayerTurn.Stand);
        }
Beispiel #7
0
        public void UsualBaseStrategyConstructorTest()
        {
            var bot = new UsualBaseStrategyBot(exampleStartMoney, exampleStartRate);

            ConstructorTest(bot);
        }