public void Flush()
 {
     var testHand = new PokerEntities.Hand(
         new List<PokerEntities.Card>
             {
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.Ten),
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.Jack),
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.Six),
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.King),
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.Ace),
             });
     var expected = new ReturnTypes.FlushReturn(true, new List<PokerEntities.CardRank>
                                                                   {
                                                                       PokerEntities.CardRank.Ace,
                                                                       PokerEntities.CardRank.King,
                                                                       PokerEntities.CardRank.Jack,
                                                                       PokerEntities.CardRank.Ten,
                                                                       PokerEntities.CardRank.Six,
                                                                   });
     Assert.AreEqual(expected, testHand.Cards.Flush());
 }
 public void FlushReturnUnOrderedEqual()
 {
     var flushReturnOne = new ReturnTypes.FlushReturn(true,
                                                               new List<PokerEntities.CardRank>
                                                                   {
                                                                       PokerEntities.CardRank.Ten,
                                                                       PokerEntities.CardRank.Nine,
                                                                       PokerEntities.CardRank.Eight,
                                                                       PokerEntities.CardRank.Seven,
                                                                       PokerEntities.CardRank.Six
                                                                   });
     var flushReturnTwo = new ReturnTypes.FlushReturn(true,
                                                               new List<PokerEntities.CardRank>
                                                                   {
                                                                       PokerEntities.CardRank.Six,
                                                                       PokerEntities.CardRank.Seven,
                                                                       PokerEntities.CardRank.Eight,
                                                                       PokerEntities.CardRank.Nine,
                                                                       PokerEntities.CardRank.Ten
                                                                   });
     Assert.AreEqual(flushReturnOne, flushReturnTwo);
 }
 public void StraightFlushIsNoFlush()
 {
     var testHand = new PokerEntities.Hand(
         new List<PokerEntities.Card>
             {
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.Ten),
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.Jack),
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.Queen),
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.King),
                 new PokerEntities.Card(PokerEntities.CardSuit.Hearts, PokerEntities.CardRank.Ace),
             });
     var expected = new ReturnTypes.FlushReturn(false, null);
     Assert.AreEqual(expected, testHand.Cards.Flush());
 }