public void TakeMoveSoftHandTest()
        {
            StandartBot bot = new StandartBot();

            ToolKit.Hand hand = new ToolKit.Hand();

            hand.Cards = NewSameCards(ToolKit.CardPoints.Ace);
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Four));
            ToolKit.Card dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Five);
            Assert.AreEqual(ToolKit.GamingState.Double, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Ace);
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Four));
            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Ace);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Ace);
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Six));
            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Five);
            Assert.AreEqual(ToolKit.GamingState.Stand, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Ace);
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Six));
            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Nine);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Ace);
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Seven));
            Assert.AreEqual(ToolKit.GamingState.Stand, bot.TakeMove(hand, dealearCard));
        }
        public void TakeMoveHardHandTest()
        {
            StandartBot bot = new StandartBot();

            ToolKit.Hand hand        = new ToolKit.Hand();
            ToolKit.Card dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Two);

            hand.Cards = NewSameCards(ToolKit.CardPoints.Two);
            hand.Cards.AddRange(NewSameCards(ToolKit.CardPoints.Two));
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Two);
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Five));
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Six);
            Assert.AreEqual(ToolKit.GamingState.Double, bot.TakeMove(hand, dealearCard));

            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Two));
            Assert.AreEqual(ToolKit.GamingState.Double, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Ace);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            hand.Cards.RemoveAt(hand.Cards.Count - 2);
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Six));
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Six);
            Assert.AreEqual(ToolKit.GamingState.Stand, bot.TakeMove(hand, dealearCard));

            hand = new ToolKit.Hand();
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Ten));
            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Six));
            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Ten);
            Assert.AreEqual(ToolKit.GamingState.Surrender, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Seven);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Six);
            Assert.AreEqual(ToolKit.GamingState.Stand, bot.TakeMove(hand, dealearCard));

            hand.Cards.Add(new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Two));
            Assert.AreEqual(ToolKit.GamingState.Stand, bot.TakeMove(hand, dealearCard));
        }
Пример #3
0
        public void SplitTest()
        {
            ToolKit.Card     card = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Two);
            Bots.StandartBot bot  = new Bots.StandartBot();
            bot.Hands[0].Cards.Add(card);
            bot.Hands[0].Cards.Add(card);

            PlayerActions.Split(bot, bot.Hands[0], shoe, dealer);

            Assert.AreEqual(2, bot.Hands.Count);
            Assert.AreEqual(2, bot.Hands[0].Cards.Count);
            Assert.AreEqual(2, bot.Hands[1].Cards.Count);
            Assert.AreEqual(card.Suit, bot.Hands[0].Cards[0].Suit);
            Assert.AreEqual(card.Suit, bot.Hands[1].Cards[0].Suit);
            Assert.AreEqual(card.CardPoint, bot.Hands[0].Cards[0].CardPoint);
            Assert.AreEqual(card.CardPoint, bot.Hands[1].Cards[0].CardPoint);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.Hands[0].State);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.Hands[1].State);
        }
        public void TakeMoveSplitTest()
        {
            StandartBot bot = new StandartBot();

            bot.State = PlayerStructure.PlayerState.Stop;
            ToolKit.Card dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Ace);
            Assert.AreEqual(ToolKit.GamingState.Stand, bot.TakeMove(bot.Hands[0], dealearCard));
            bot.State = PlayerStructure.PlayerState.Playing;

            ToolKit.Hand hand = new ToolKit.Hand();
            hand.Cards = NewSameCards(ToolKit.CardPoints.Five);
            Assert.AreEqual(ToolKit.GamingState.Double, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Four);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Five);
            Assert.AreEqual(ToolKit.GamingState.Split, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Nine);
            Assert.AreEqual(ToolKit.GamingState.Split, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Ace);
            Assert.AreEqual(ToolKit.GamingState.Stand, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Ten);
            Assert.AreEqual(ToolKit.GamingState.Stand, bot.TakeMove(hand, dealearCard));

            hand.Cards = NewSameCards(ToolKit.CardPoints.Eight);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Ten);
            Assert.AreEqual(ToolKit.GamingState.Split, bot.TakeMove(hand, dealearCard));

            hand.Cards  = NewSameCards(ToolKit.CardPoints.Seven);
            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Ace);
            Assert.AreEqual(ToolKit.GamingState.Hit, bot.TakeMove(hand, dealearCard));

            dealearCard = new ToolKit.Card(ToolKit.Suits.Heart, ToolKit.CardPoints.Two);
            Assert.AreEqual(ToolKit.GamingState.Split, bot.TakeMove(hand, dealearCard));
        }