/** * @dataProvider emptyAndFilledCardCollectionProvider */ public function testPrependMany(CardCollection $cardCollection) { $count = $cardCollection->count(); $prependCardsArray = array(array(), TestDataProvider::get1CardsArray(), TestDataProvider::get2CardsArray()); foreach ($prependCardsArray as $prependCards) { foreach ($prependCards as $card) { $this->assertFalse($cardCollection->has($card)); } $cardCollection->prependMany($prependCards); $count += count($prependCards); $this->assertSame($count, $cardCollection->count()); if (count($prependCards) > 0) { $this->assertSame(end($prependCards), $cardCollection->getFirst()); } foreach ($prependCards as $card) { $this->assertTrue($cardCollection->has($card)); } } }
public static function countsProvider() : array { return array(array(TestDataProvider::getPlayersArray(), array(), array()), array(TestDataProvider::getPlayersArray(), TestDataProvider::get2CardsArray(), TestDataProvider::get1CardsArray())); }