/// <summary>
        /// Demonstrates use of Deck and Card objects
        /// </summary>
        /// <param name="args">command-line args</param>
        static void Main(string[] args)
        {
            // create a new deck and print the contents of the deck
            Deck deck = new Deck();

            #region EmptyTest
            // test if empty
            Console.WriteLine("Empty: " + deck.Empty);
            #endregion

            #region Shuffle
            // shuffle the deck and print the contents of the deck
            Console.WriteLine("------------Pre Shuffle------------");
            deck.Print();
            Console.WriteLine("------------Shuffle 1------------");
            deck.Shuffle();
            deck.Print();
            #endregion

            #region Cut
            // take the top card from the deck and print the card rank and suit
            Console.WriteLine("------------CUT------------");
            deck.Cut(26);
            deck.Print();
            #endregion

            #region TakeTopCard
            // take the top card from the deck and print the card rank and suit
            Card card = deck.TakeTopCard();
            Console.WriteLine("------------Take Top Card------------");
            Console.WriteLine(card.Rank + " of " + card.Suit);
            #endregion

        }