Defined Card#contents method to ignore missing declaration warning (method is defined in the interface). The implementation also contains a note that method should be overridden in subclass.
Removed extra variable for random card in DeckTest#testDrawRandomCard. The variable was not used then - and we want to avoid warning about it.
Using a more generic Deck interface in CardGameViewController but concrete PlayingCardDeck instance.
Accessing NSArray#count as method everywhere rather than as property by convention.
Test classes put to Model group/dir to be symmetric with the original classes.
PlayingCard can now be initialized with contents which is needed to create predefined card conveniently in the tests. Added bare bone version of the CardMatchingGame class with initial set of interfaces it will implement.
Fixed PlayingCard creation with contents. Now we take in account 3 chars definition of the card (it's for cards with rank = 10). Also fixed the the test which didn't run at all - it had wrong method name.
Added new attributes to the card: unplayable, faceUp which represent card state in the game. Added MockDeck which draws card in the predefined straight order rather than drawing random card - this is needed for testing. Implemented basic CardMatchingGame logic: getting card at index, flip only playable card, when card is flipped it changes the state to be faced up.