Example #1
0
 /**
  * A new deck of cards. 
  * By default creates a standard 52 card deck.
  *
  * @param CardProvider $provider provider the initial cards for the deck
  */
 public function __construct(CardProvider $provider = null)
 {
     if (is_null($provider)) {
         $provider = new StandardDeckProvider();
     }
     $this->cards = $provider->getCards();
 }
 public function testCardsCountInSuit()
 {
     $provider = new StandardDeckProvider();
     $cards = $provider->getCards();
     $suit['club'] = 0;
     $suit['diamond'] = 0;
     $suit['heart'] = 0;
     $suit['spade'] = 0;
     foreach ($cards as $c) {
         ++$suit[$c->suitName()];
     }
     $this->assertEquals(13, $suit['club']);
     $this->assertEquals(13, $suit['diamond']);
     $this->assertEquals(13, $suit['heart']);
     $this->assertEquals(13, $suit['spade']);
 }