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); }
public void Two_Flushes_Revert_To_HighCard_Rules() { var high = new FlushScore(CardSuit.Clubs, CardValue.Three); var low = new FlushScore(CardSuit.Diamonds, CardValue.Two); Assert.Greater(high, low); }
public void Should_Always_Beat_Straight() { var high = new FlushScore(CardSuit.Clubs, CardValue.Two); var low = new StraightScore(CardValue.Ace); Assert.Greater(high, low); }
public void Same_Flush_Should_Tie() { var high = new FlushScore(CardSuit.Clubs, CardValue.Three); var low = new FlushScore(CardSuit.Diamonds, CardValue.Three); Assert.AreEqual(0, high.CompareTo(low)); }
public void Score_FlushCardsWithOneWrongCardColor_Failed() { // Arrange var setValidator = GenerateSetValidator(); var unitUnderTest = new FlushScore(setValidator); setValidator.Validate(Arg.Any <CardSet>()).Returns(false); CardSet set = new CardSet(new HashSet <Card>() { GenerateCard(CardValue.Ten), GenerateCard(CardValue.Three), GenerateCard(CardValue.Queen, CardColor.Goblet), GenerateCard(CardValue.Two), GenerateCard(CardValue.Ace) }); // Act var result = unitUnderTest.Score( set); // Assert Assert.False(result.IsValid); }
public void Score_ValidFlushCards_SuccessAndScore() { // Arrange var setValidator = GenerateSetValidator(); var unitUnderTest = new FlushScore(setValidator); setValidator.Validate(Arg.Any <CardSet>()).Returns(true); CardSet set = new CardSet(new HashSet <Card>() { GenerateCard(CardValue.Ten), GenerateCard(CardValue.Three), GenerateCard(CardValue.Queen), GenerateCard(CardValue.Two), GenerateCard(CardValue.Ace) }); // Act var result = unitUnderTest.Score( set); // Assert Assert.True(result.IsValid); }