Example #1
0
        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();
        }
Example #2
0
        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);
        }