/** * 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']); }