public void Ace_Should_Add_One_To_Value_If_Adding_Eleven_Makes_It_More_Then_21
                (int expectedValue, params BlackJack.Card[] cards)
            {
                var hand = new BlackJack.Hand(cards);

                var actualValue = hand.Value;

                Assert.Equal(expectedValue, actualValue);
            }
            public void Ace_Should_Add_Eleven_To_Value_If_It_Is_Less_Or_Equal_21
                (int expectedValue, params BlackJack.Card[] cards)
            {
                var hand = new BlackJack.Hand(cards);

                var actualValue = hand.Value;

                Assert.Equal(expectedValue, actualValue);
            }
            public void Value_Should_Be_A_Sum_Of_Card_Values_If_There_Is_No_Ace
                (int expectedValue, params BlackJack.Card[] cards)
            {
                var hand = new BlackJack.Hand(cards);

                var actualValue = hand.Value;

                Assert.Equal(expectedValue, actualValue);
            }
            public SplitTests()
            {
                cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.Teen, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.King, BlackJack.CardSuit.Clubs)
                };

                hand = new BlackJack.Hand(cards);
            }
            public void Is_BlackJack_Is_True_If_There_Are_2_Cards_And_Value_Equals_21()
            {
                var cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.King, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Ace, BlackJack.CardSuit.Spades)
                };

                var hand = new BlackJack.Hand(cards);

                Assert.True(hand.IsBlackJack);
            }
            public void Can_Surrender_Is_False_If_Values_Equals_21()
            {
                var cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.King, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Ace, BlackJack.CardSuit.Spades)
                };

                var hand = new BlackJack.Hand(cards);

                Assert.False(hand.CanSurrender);
            }
            public void Can_Surrender_Is_True_If_There_Are_Two_Cards_And_Value_Is_Not_21()
            {
                var cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.King, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Teen, BlackJack.CardSuit.Spades)
                };

                var hand = new BlackJack.Hand(cards);

                Assert.True(hand.CanSurrender);
            }
            public void Can_Split_Is_False_If_Cards_Have_Different_Values()
            {
                var cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.King, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Two, BlackJack.CardSuit.Spades)
                };

                var hand = new BlackJack.Hand(cards);

                Assert.False(hand.CanSplit);
            }
            public void Can_Split_Is_True_If_There_Are_Two_Cards_And_They_Have_The_Same_Value()
            {
                var cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.King, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Teen, BlackJack.CardSuit.Spades)
                };

                var hand = new BlackJack.Hand(cards);

                Assert.True(hand.CanSplit);
            }
예제 #10
0
            public void Can_Double_Is_False_If_Value_Is_21()
            {
                var cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.Teen, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Ace, BlackJack.CardSuit.Spades)
                };

                var hand = new BlackJack.Hand(cards);

                Assert.False(hand.CanDouble);
            }
예제 #11
0
            public void Is_BlackJack_Is_True_If_Value_Is_Not_21()
            {
                var cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.Eight, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Two, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Ace, BlackJack.CardSuit.Spades)
                };

                var hand = new BlackJack.Hand(cards);

                Assert.False(hand.IsBlackJack);
            }
예제 #12
0
            public void Can_Surrender_Is_False_If_There_Is_More_Then_2_Cards()
            {
                var cards = new List <BlackJack.Card>
                {
                    new BlackJack.Card(BlackJack.CardSymbol.King, BlackJack.CardSuit.Diamonds),
                    new BlackJack.Card(BlackJack.CardSymbol.Two, BlackJack.CardSuit.Spades),
                    new BlackJack.Card(BlackJack.CardSymbol.Three, BlackJack.CardSuit.Spades)
                };

                var hand = new BlackJack.Hand(cards);

                Assert.False(hand.CanSurrender);
            }