/**
  * @dataProvider collectionProvider
  *
  * @param array $elements
  * @param int   $page
  * @param int   $rpp
  * @param int   $total
  * @param int   $pagesExpected
  * @param int   $nextPageExpected
  * @param int   $prevPageExpected
  */
 public function testCollection($elements, $page, $rpp, $total, $pagesExpected, $nextPageExpected, $prevPageExpected)
 {
     $collection = new PaginatedArrayCollection($elements, $page, $rpp, $total);
     $this->assertEquals($page, $collection->getPage());
     $this->assertEquals($rpp, $collection->getRpp());
     $this->assertEquals($pagesExpected, $collection->getPages());
     $this->assertEquals($nextPageExpected, $collection->getNextPage());
     $this->assertEquals($prevPageExpected, $collection->getPrevPage());
 }
 /**
  * @param PaginatedArrayCollection $collection
  * @param string                   $pageParameterName
  * @param int                      $referenceType
  *
  * @return string|null
  */
 public function getPrevPageUrl(PaginatedArrayCollection $collection, $pageParameterName = 'page', $referenceType = RouterInterface::ABSOLUTE_PATH)
 {
     $prevPage = $collection->getPrevPage();
     return $prevPage ? $this->getPageUrl($prevPage, $pageParameterName, $referenceType) : null;
 }