@Test
public void with_a_deck_should_contain_all_cards() throws Exception {

  Deck deck = new Deck();
  assertThat(deck.getCards()).hasSize(52);
  assertThat(transform(newArrayList(deck.getCards()), new Function<Card, String>() {
    @Override
    public String apply(Card o) {
      return o.toString();
    }
  })).containsOnly("2♣", "3♣", "4♣", "5♣", "6♣", "7♣", "8♣", "9♣", "10♣", "J♣", "Q♣", "K♣", "A♣", "2♥", "3♥", "4♥",
      "5♥", "6♥", "7♥", "8♥", "9♥", "10♥", "J♥", "Q♥", "K♥", "A♥", "2♦", "3♦", "4♦", "5♦", "6♦", "7♦", "8♦", "9♦",
      "10♦", "J♦", "Q♦", "K♦", "A♦", "2♠", "3♠", "4♠", "5♠", "6♠", "7♠", "8♠", "9♠", "10♠", "J♠", "Q♠", "K♠", "A♠");
}