static void Main(string[] args) { var includeJokers = args.Length > 0 && args[0] == "-include"; var verb = includeJokers ? "include" : "exclude"; Console.WriteLine("Welcome to our Deck of Cards Console Application"); Console.WriteLine($"You have decided to {verb} jokers in your deck."); var deckOfCardsWithJokers = new Deck(includeJokers); Console.WriteLine(); Console.WriteLine("We are now going to take the top card from the stack until the stack is empty."); Console.WriteLine(); while (deckOfCardsWithJokers.CardsRemaining > 0) { var poppedCard = deckOfCardsWithJokers.TakeTopCard(); Console.WriteLine($"You pulled the {poppedCard}. Cards Remaining: {deckOfCardsWithJokers.CardsRemaining} Cards Used: {deckOfCardsWithJokers.CardsUsed}"); } Console.WriteLine(); Console.WriteLine("Thanks for playing!"); Console.WriteLine("Press a key to <EXIT>"); Console.ReadKey(); }
public void Test_TakeTopCard_ReturnsFirstCardAndRemovesItFromTheDeck() { //Arrange Mock<DeckGenerator> mockGenerateDeck = new Mock<DeckGenerator>(); Deck testDeck = new Deck(mockGenerateDeck.Object.GenerateDeck()); Card expectedCard = testDeck.listOfCards.First(); int expectedNumber = 51; //Act Card returnedCard = testDeck.TakeTopCard(); //Assert Assert.AreEqual(expectedCard, returnedCard); Assert.AreEqual(expectedNumber, testDeck.listOfCards.Count); }