public void CompareHandCallsDiscriminatorFactory() { var firstHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var secondHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var discriminatorFactoryMock = new Mock <IDiscriminatorFactory>(); var discriminatorStub = new Mock <IDiscriminator>(); discriminatorFactoryMock.Setup(df => df.CreateDiscriminator(It.IsAny <HandType>())). Returns(discriminatorStub.Object); var dealer = new PokerDealer(discriminatorFactoryMock.Object); dealer.GetWinner(firstHand, secondHand); discriminatorFactoryMock.Verify(df => df.CreateDiscriminator(HandType.OnePair)); }
public void CompareThrowsForNullArguments() { var dealer = new PokerDealer(); dealer.GetWinner(null, null); Assert.Fail("Shouldn't even reach this line"); }
public void HandsWithSameCardValuesAreEqual() { var firstHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var secondHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var dealer = new PokerDealer(); var value = dealer.GetWinner(firstHand, secondHand); Assert.AreEqual(0, value); }
public void CompareValidatesNumberOfCards() { var list1 = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12), }; var list2 = new List <Card> { new Card(Suit.Spades, 14), new Card(Suit.Diamonds, 10), new Card(Suit.Clubs, 12), new Card(Suit.Hearts, 5), }; var dealer = new PokerDealer(); dealer.GetWinner(list1, list2); Assert.Fail("Shouldn't even reach this line"); }