public void HardStandingShadedTest()
        {
            PlayerState      expectedState = PlayerState.Stand;
            TenCountStrategy player        = new TenCountStrategy
            {
                Chips = 500,
                hand  = new Hand
                {
                    cards = new List <Card>()
                    {
                        new Card(Suit.Club, Face.Ten),
                        new Card(Suit.Diamond, Face.Seven)
                    }
                },
                Count = new List <int>()
                {
                    1, 100
                }                                  //Count = 0.01
            };

            player.UpdateOthersOverTenRatio();
            player.hand.SetHandValues();
            PlayerState state = (player.React(dealersUpCard: new Card(Suit.Spade, Face.Three), ref player.CurrentState, player.hand, new List <int>()));

            Assert.AreEqual(expectedState, state);
        }
        public void Soft19AgainstAceGreaterThanTest()
        {
            PlayerState      expectedState = PlayerState.Stand;
            TenCountStrategy player        = new TenCountStrategy
            {
                Chips = 500,
                hand  = new Hand
                {
                    cards = new List <Card>()
                    {
                        new Card(Suit.Club, Face.Ace),
                        new Card(Suit.Diamond, Face.Eight)
                    }
                },
                Count = new List <int>()
                {
                    221, 100
                }                                    //Count = 2.21
            };

            player.UpdateOthersOverTenRatio();
            player.hand.SetHandValues();
            PlayerState state = (player.React(dealersUpCard: new Card(Suit.Spade, Face.Ace), ref player.CurrentState, player.hand, new List <int>()));

            Assert.AreEqual(expectedState, state);
        }
        public void HardDoublingEqualToTest()
        {
            PlayerState      expectedState = PlayerState.DoubleDown;
            TenCountStrategy player        = new TenCountStrategy
            {
                Chips = 500,
                hand  = new Hand
                {
                    cards = new List <Card>()
                    {
                        new Card(Suit.Club, Face.Three),
                        new Card(Suit.Club, Face.Six)
                    }
                },
                Count = new List <int>()
                {
                    160, 100
                }                                    //Count = 1.6
            };

            player.UpdateOthersOverTenRatio();
            player.hand.SetHandValues();
            PlayerState state = (player.React(dealersUpCard: new Card(Suit.Club, Face.Eight), ref player.CurrentState, player.hand, new List <int>()));

            Assert.AreEqual(expectedState, state);
        }
        public void PairSplittingGreaterThanTest()
        {
            PlayerState      expectedState = PlayerState.Split;
            TenCountStrategy player        = new TenCountStrategy
            {
                Chips = 500,
                hand  = new Hand
                {
                    cards = new List <Card>()
                    {
                        new Card(Suit.Club, Face.Nine),
                        new Card(Suit.Diamond, Face.Nine)
                    }
                },
                Count = new List <int>()
                {
                    430, 100
                }                                    //Count = 1.6
            };

            player.UpdateOthersOverTenRatio();
            player.hand.SetHandValues();
            PlayerState state = (player.React(dealersUpCard: new Card(Suit.Spade, Face.Nine), ref player.CurrentState, player.hand, new List <int>()));

            Assert.AreNotEqual(expectedState, state);
        }
        //(A,4) against 3 with a count of 2 //Should not double down if count > 1.9
        public void SoftDoublingGreaterThanTest()
        {
            PlayerState      expectedState = PlayerState.DoubleDown;
            TenCountStrategy player        = new TenCountStrategy
            {
                Chips = 500,
                hand  = new Hand
                {
                    cards = new List <Card>()
                    {
                        new Card(Suit.Club, Face.Ace),
                        new Card(Suit.Club, Face.Four)
                    }
                },
                Count = new List <int>()
                {
                    200, 100
                }
            };

            player.UpdateOthersOverTenRatio();
            player.hand.SetHandValues();
            PlayerState state = (player.React(dealersUpCard: new Card(Suit.Club, Face.Three), ref player.CurrentState, player.hand, new List <int>()));

            Assert.AreNotEqual(expectedState, state);
        }