示例#1
0
 public void CanAssignPairs()
 {
     //assemble
     for (var i = 0; i < 100; i++)
     {
         Dealer dealer     = new Dealer();
         int    randomRank = TestMethods.RandomRank();
         var    randomPair = dealer.Deck.Where(card => (int)card.Rank == randomRank).ToArray();
         Random random     = new Random();
         while (randomPair.Length > 2)
         {
             int removeCard = random.Next(0, randomPair.Length);
             randomPair[removeCard] = null;
             randomPair             = randomPair.Where(card => card != null).ToArray();
         }
         var smallTestDeck = TestMethods.OneOfEachRankDeck();
         smallTestDeck = smallTestDeck.Where(card => (int)card.Rank != randomRank).ToArray();
         smallTestDeck = TestMethods.Shuffle(smallTestDeck);
         Player player = new Player("Gustav");
         player.DrawCards(randomPair);
         player.DrawCards(TestMethods.DealTopCards(3, smallTestDeck));
         player.SortHand();
         //act
         player.IdentifyHand();
         //assert
         Assert.IsTrue(player.HandType == HandType.Pair);
     }
 }
示例#2
0
 public void CanAssignTwoPairs()
 {
     for (var i = 0; i < 100; i++)
     {
         Dealer     dealer        = new Dealer();
         Random     random        = new Random();
         List <int> randomNumbers = new List <int>();
         for (var j = 0; j < 2; j++)
         {
             while (true)
             {
                 int tempNum = TestMethods.RandomRank();
                 if (!randomNumbers.Contains(tempNum))
                 {
                     randomNumbers.Add(tempNum);
                     break;
                 }
             }
         }
         int randomRank1 = randomNumbers[0];
         int randomRank2 = randomNumbers[1];
         var randomPair1 = dealer.Deck.Where(card => (int)card.Rank == randomRank1).ToArray();
         var randomPair2 = dealer.Deck.Where(card => (int)card.Rank == randomRank2).ToArray();
         while (randomPair1.Length > 2)
         {
             int removeCard1 = random.Next(0, randomPair1.Length);
             int removeCard2 = random.Next(0, randomPair2.Length);
             randomPair1[removeCard1] = null;
             randomPair2[removeCard2] = null;
             randomPair1 = randomPair1.Where(card => card != null).ToArray();
             randomPair2 = randomPair2.Where(card => card != null).ToArray();
         }
         var smallTestDeck = TestMethods.OneOfEachRankDeck();
         smallTestDeck = smallTestDeck.Where(card => (int)card.Rank != randomRank1).ToArray();
         smallTestDeck = smallTestDeck.Where(card => (int)card.Rank != randomRank2).ToArray();
         smallTestDeck = TestMethods.Shuffle(smallTestDeck);
         Player player = new Player("Gustav");
         player.DrawCards(randomPair1);
         player.DrawCards(randomPair2);
         player.DrawCards(TestMethods.DealTopCards(1, smallTestDeck));
         player.SortHand();
         //act
         player.IdentifyHand();
         //assert
         Assert.IsTrue(player.HandType == HandType.TwoPairs);
     }
 }
示例#3
0
 public void CanAssignFourOfAKind()
 {
     for (var i = 0; i < 100; i++)
     {
         Dealer dealer        = new Dealer();
         int    randomRank    = TestMethods.RandomRank();
         var    randomFOK     = dealer.Deck.Where(card => (int)card.Rank == randomRank).ToArray();
         var    smallTestDeck = TestMethods.OneOfEachRankDeck();
         smallTestDeck = smallTestDeck.Where(card => (int)card.Rank != randomRank).ToArray();
         smallTestDeck = TestMethods.Shuffle(smallTestDeck);
         Player player = new Player("Gustav");
         player.DrawCards(randomFOK);
         player.DrawCards(TestMethods.DealTopCards(1, smallTestDeck));
         player.SortHand();
         //act
         player.IdentifyHand();
         //assert
         Assert.IsTrue(player.HandType == HandType.FourOfAKind);
     }
 }