/**
  * @param  QueryBuilder        $qb
  * @param  array               $criteria
  * @return PagerfantaPaginator
  */
 public function createPaginator(array $criteria, Table $table)
 {
     $adapter = $this->getAdapter($table->getQueryFindAll($criteria), $table, $criteria);
     $this->paginator->init($adapter);
     $this->setupPaginator($criteria);
     return $this->paginator;
 }
 public function testCanPaginate()
 {
     $paginator = new PagerfantaPaginator(2);
     $expectedUsers = [['username' => 'luis', 'password' => 'changeme'], ['username' => 'misraim', 'password' => 'letmein']];
     $adapter = $this->getMockBuilder('\\Pagerfanta\\Adapter\\FixedAdapter')->disableOriginalConstructor()->getMock();
     $adapter->expects($this->once())->method('getNbResults')->will($this->returnValue(4));
     $adapter->expects($this->once())->method('getSlice')->will($this->returnValue($expectedUsers));
     $paginator->init($adapter);
     $paginator->setCurrentPage(1);
     $this->assertEquals(2, $paginator->getNbPages());
     $this->assertEquals($expectedUsers, $paginator->getCurrentPageResults());
 }