public void AndAwardsNoPoints(DieRoll[] dice)
        {
            var straight = new StraightRule();

            var result = straight.CountPoints(new DiceRoll(dice));

            Assert.True(result.Points == _points, $"Expected {_points} combination, but got {result.Points} instead.");
        }
        public void IfTheDiceAreNotConsecutive(DieRoll[] dice)
        {
            var straight = new StraightRule();

            var result = straight.CountPoints(new DiceRoll(dice));

            Assert.True(result.DiceCombination == _combination, $"Expected {_combination} combination, but got {result.DiceCombination} instead.");
        }
        public ObtainingAHighStraight()
        {
            var dice    = new DieRoll[] { DieRoll.Two, DieRoll.Four, DieRoll.Three, DieRoll.Five, DieRoll.Six };
            var diceSet = new DiceRoll(dice);
            var rule    = new StraightRule();

            result = rule.CountPoints(diceSet);
        }
        public void CardList_Is_Straight()
        {
            var cardList = new List <Card>()
            {
                new Card()
                {
                    FaceValue = CardFaceValue.Ace, Suit = CardSuit.Clubs
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Two, Suit = CardSuit.Diamonds
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Three, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Four, Suit = CardSuit.Diamonds
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Five, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.HighAce, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Ten, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Jack, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Queen, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.King, Suit = CardSuit.Hearts
                }
            };

            var rule = new StraightRule();
            var hand = rule.BuildStrongestHand(cardList);

            Assert.IsNotNull(hand);
            Assert.AreEqual("Straight", hand.Name);
            Assert.AreEqual(500, hand.RankPrimary);
        }
        public void CardList_Is_Not_Straight()
        {
            var cardList = new List <Card>()
            {
                new Card()
                {
                    FaceValue = CardFaceValue.Ace, Suit = CardSuit.Clubs
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Two, Suit = CardSuit.Diamonds
                },
                new Card()
                {
                    FaceValue = CardFaceValue.King, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Four, Suit = CardSuit.Diamonds
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Five, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.HighAce, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Ten, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Jack, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.Seven, Suit = CardSuit.Hearts
                },
                new Card()
                {
                    FaceValue = CardFaceValue.King, Suit = CardSuit.Hearts
                }
            };

            var rule = new StraightRule();
            var hand = rule.BuildStrongestHand(cardList);

            Assert.IsNull(hand);
        }
 public StraightRuleTests()
 {
     _rule = new StraightRule();
 }