Include more precise tests around the initialization of the deck.
Demonstrate the problem with the tests.
Write a test that verifies the shuffle.
A deck with jokers will have 2 more cards.
Differentiate the joker cards from the others.
Differentiate the red joker from the black joker.
Get the joker initialization under tests.
Jokers can have a rank.
The joker? test should return a Boolean.
Add ability to cut the deck.
Keep the shuffle's behavior of returning the deck.
Demonstrate the problem with overriding a method used for verifying results in the tests.
Testing against to_s produces a unique way to get a card value, but is it the best way?
Create a same_as? method that can be used to compare two cards for rank/suit.
Merge branch 'jokers'
Merge branch 'cut_the_deck'
Merged the initialization tests.
Merge in the card comparisons.