public void CompareHands_TwoThreeOfAKindFirstHandHasHigherValueCards_ShouldReturnPlusOne() { var firstHandCards = new List <ICard>() { new FakeCard(CardFace.Ace, CardSuit.Clubs), new FakeCard(CardFace.Ace, CardSuit.Clubs), new FakeCard(CardFace.Ace, CardSuit.Diamonds), new FakeCard(CardFace.Nine, CardSuit.Clubs), new FakeCard(CardFace.Ten, CardSuit.Spades) }; var secondHandCards = new List <ICard>() { new FakeCard(CardFace.Ten, CardSuit.Clubs), new FakeCard(CardFace.Nine, CardSuit.Clubs), new FakeCard(CardFace.Queen, CardSuit.Diamonds), new FakeCard(CardFace.Ten, CardSuit.Clubs), new FakeCard(CardFace.Ten, CardSuit.Spades) }; var firstHand = new FakeHand(firstHandCards); var secondHand = new FakeHand(secondHandCards); var handChecker = new PokerHandsChecker(); var expectedResult = 1; var actualResult = handChecker.CompareHands(firstHand, secondHand); Assert.AreEqual(expectedResult, actualResult); }
public void IsValidHand_HandHasDuplicateCards_ShouldReturnFalse() { // Arrange var hand = new FakeHand(5); var pokerHandChecker = new PokerHandsChecker(); // Act var result = pokerHandChecker.IsValidHand(hand); // Assert Assert.IsFalse(result); }
public void IsValidHand_HandHasFiveDifferentCards_ShouldReturnTrue() { // Arrange var cards = new List <ICard>() { new ConstantStringFakeCard("card1"), new ConstantStringFakeCard("card2"), new ConstantStringFakeCard("card3"), new ConstantStringFakeCard("card4"), new ConstantStringFakeCard("card5"), }; var hand = new FakeHand(cards); var pokerHandChecker = new PokerHandsChecker(); // Act var result = pokerHandChecker.IsValidHand(hand); // Assert Assert.IsTrue(result); }