public function testPagerGetterMethodsShouldReturnExpectedValues()
{
// stub paginate
$paginate = new stdClass();
$paginate->total_pages = 20;
$paginate->current = 10;
$paginate->last = 20;
$paginate->total_items = 100;
$paginate->first = 1;
$paginate->before = $paginate->current - 1;
$paginate->next = $paginate->current + 1;
$paginate->items = new \ArrayIterator([1, 2, 4, 5]);
$mock = Mockery::mock(self::BUILDER_CLASS);
$mock->shouldReceive('getPaginate')->once()->andReturn($paginate);
$mock->shouldReceive('getLimit')->once()->andReturn(null);
$pager = new Pager($mock, ['rangeLength' => 5, 'urlMask' => 'xxx']);
$this->assertEquals($paginate->current, $pager->getCurrentPage());
$this->assertEquals($paginate->total_items, $pager->count());
$this->assertEquals(1, $pager->getFirstPage());
$this->assertTrue($pager->haveToPaginate());
$this->assertEquals($paginate->before, $pager->getPreviousPage());
$this->assertEquals($paginate->next, $pager->getNextPage());
$this->assertInstanceOf('Iterator', $pager->getIterator());
}