public void MaximumFiveCardsInHand() { var cards = new Card[6]; cards = TestMethods.ToCards("♥10♦J♥Q♥K♣A♣4"); Player player = new Player("Gustav"); CollectionAssert.AreEqual(player.Hand, new Card[] { null, null, null, null, null }); Assert.Throws <IndexOutOfRangeException>(() => player.DrawCards(cards)); }
public void CardsCanBeAddedToHand() { var cards = new Card[5]; cards = TestMethods.ToCards("♥10♥J♥Q♥K♥A"); Player player = new Player("Gustav"); player.DrawCards(cards); for (int i = 0; i < 5; ++i) { var takeData = cards.Take(i + 1); CollectionAssert.AreEqual(cards.Take(i + 1), player.Hand.Take(i + 1)); } }
public void CanClearPiles() { //assemble var cards = new Card[5]; cards = TestMethods.ToCards("♣10♠J♥Q♦K♦10"); Player player = new Player("Gustav"); player.DrawCards(cards); player.Discard = TestMethods.ToCards("♣K♠2♥3"); //act player.ClearPiles(); //assert CollectionAssert.AreEqual(player.Hand, new Card[] { null, null, null, null, null }); CollectionAssert.AreEqual(player.Discard, new Card[] { null, null, null, null, null }); }
public void CardsCanBeDiscarded() { //assemble var cards = new Card[5]; cards = TestMethods.ToCards("♥10♥J♥Q♥K♥A"); Player player = new Player("Gustav"); player.DrawCards(cards); var cardsToDiscard = TestMethods.ToCards("♥10♥K♥A"); player.Discard = cardsToDiscard; //act player.DiscardCards(); //assert for (var i = 0; i < cardsToDiscard.Length; i++) { CollectionAssert.DoesNotContain(player.Hand, cardsToDiscard[i]); } }
public void CanSortHand() { //assemble var cards = new Card[5]; cards = TestMethods.ToCards("♣10♠J♥Q♦K♦10"); Player player = new Player("Gustav"); player.DrawCards(cards); //act player.SortHand(); //assert for (var i = 0; i < player.Hand.Length - 1; i++) { Assert.LessOrEqual(player.Hand[i].Rank, player.Hand[i + 1].Rank); if (player.Hand[i].Rank == player.Hand[i + 1].Rank) { Assert.Less(player.Hand[i].Suite, player.Hand[i + 1].Suite); } } }