public void WhenTableReinitialised_PlayersHandStill2Each() { _table.InitialiseHands(); _table.InitialiseHands(); var cardsVisitor = new CardTestVisitor(); _table.Accept(cardsVisitor); Assert.AreEqual(8, cardsVisitor.Count); }
public void Add() { var discardPile = new CardTestVisitor(); _discard.Accept(discardPile); Assert.AreEqual(1, discardPile.Count); Assert.AreEqual(1, discardPile.UniqueCount); }
public void Reset() { _discard.Reset(); var discardPile = new CardTestVisitor(); _discard.Accept(discardPile); Assert.AreEqual(0, discardPile.Count); Assert.AreEqual(0, discardPile.UniqueCount); }
public void DealCard_ShouldShuffleDiscardPile_IfNoCardsLeftInDeck() { DealAllCardsInDeck(); var deckVisitor = new CardTestVisitor(); _dealer.Accept(deckVisitor); Assert.AreEqual(0, deckVisitor.Count); _dealer.DealCard(); _dealer.Accept(deckVisitor); Assert.AreEqual(51, deckVisitor.Count); Assert.AreEqual(51, deckVisitor.UniqueCount); }
public void CreateHand_ShouldReturnHandWithZeroCards() { var playerOneHand = _dealer.CreateHand(); var playerTwoHand = _dealer.CreateHand(); var playerOneVisitor = new CardTestVisitor(); var playerTwoVisitor = new CardTestVisitor(); playerOneHand.Accept(playerOneVisitor); playerTwoHand.Accept(playerTwoVisitor); Assert.AreEqual(0, playerOneVisitor.Count); Assert.AreEqual(0, playerTwoVisitor.Count); }
public void ShuffleShould_RandomiseCardOrder() { _deck.Accept(_visitor); var cardCountBeforeShuffle = _visitor.Count; var cardsBeforeShuffle = _visitor.Cards; _deck.Shuffle(); var afterShuffleVisitor = new CardTestVisitor(); _deck.Accept(afterShuffleVisitor); var cardCountAfterShuffle = afterShuffleVisitor.Count; var cardsAfterShuffle = afterShuffleVisitor.Cards; Assert.AreEqual(52, cardCountBeforeShuffle); Assert.AreEqual(52, cardCountAfterShuffle); Assert.AreEqual(cardCountBeforeShuffle, afterShuffleVisitor.UniqueCount); Assert.AreNotEqual(cardsBeforeShuffle, cardsAfterShuffle); }
public void DealCard_ShouldDealDifferentCardToPlayer() { var playerOneHand = _dealer.CreateHand(); var playerTwoHand = _dealer.CreateHand(); playerOneHand.Add(_dealer.DealCard()); playerOneHand.Add(_dealer.DealCard()); playerTwoHand.Add(_dealer.DealCard()); playerTwoHand.Add(_dealer.DealCard()); var playerOneVisitor = new CardTestVisitor(); var playerTwoVisitor = new CardTestVisitor(); playerOneHand.Accept(playerOneVisitor); playerTwoHand.Accept(playerTwoVisitor); Assert.AreEqual(2, playerOneVisitor.Count); Assert.AreEqual(2, playerTwoVisitor.Count); Assert.AreNotEqual(playerOneVisitor.Cards, playerTwoVisitor.Cards); }
public void DeckShouldBeInitialised() { _deck = new Deck(); _visitor = new CardTestVisitor(); }