Exemplo n.º 1
0
        public void When_Threes_Tie_Use_Twos()
        {
            var high = new FullHouseScore(CardValue.Three, CardValue.Five);
            var low = new FullHouseScore(CardValue.Three, CardValue.Four);

            Assert.Greater(high, low);
        }
Exemplo n.º 2
0
        public void Should_Always_Beat_Flush()
        {
            var high = new FullHouseScore(CardValue.Two, CardValue.Three);
            var low = new FlushScore(CardSuit.Clubs, CardValue.Ace);

            Assert.Greater(high, low);
        }
Exemplo n.º 3
0
        public void Same_Pairs_Should_Tie_Even_Though_Impossible()
        {
            var high = new FullHouseScore(CardValue.Three, CardValue.Four);
            var low = new FullHouseScore(CardValue.Three, CardValue.Four);

            Assert.AreEqual(0, high.CompareTo(low));
        }
Exemplo n.º 4
0
        public void Lower_Threes_Should_Lose()
        {
            var high = new FullHouseScore(CardValue.Three, CardValue.Two);
            var low = new FullHouseScore(CardValue.Two, CardValue.Three);

            Assert.Less(low, high);
        }
Exemplo n.º 5
0
        public void Higher_Threes_Should_Win()
        {
            var high = new FullHouseScore(CardValue.Three, CardValue.Two);
            var low = new FullHouseScore(CardValue.Two, CardValue.Three);

            Assert.Greater(high, low);
        }
Exemplo n.º 6
0
        public void Should_Always_Beat_FullHouse()
        {
            var high = new FourOfAKindScore(CardValue.Two);
            var low = new FullHouseScore(CardValue.Ace, CardValue.King);

            Assert.Greater(high, low);
        }
Exemplo n.º 7
0
        public void Score_EmptyCardSet_CalculationFailed()
        {
            // Arrange
            var     unitUnderTest = new FullHouseScore();
            CardSet set           = new CardSet(new HashSet <Card>()
            {
                GenerateCard(CardValue.Ten),
                GenerateCard(CardValue.Ten),
                GenerateCard(CardValue.Ten),
                GenerateCard(CardValue.Ten),
                GenerateCard(CardValue.Ace)
            });
            // Act
            var result = unitUnderTest.Score(
                set);

            // Assert
            Assert.False(result.IsValid);
            Assert.AreEqual(-1, result.Score);
        }