$results->setPage(4);
$t->is($results->getPreviousPage(), 3, '->getPreviousPage() returns the previous page');
$results->setPage(1);
$t->is($results->getPreviousPage(), 1, '->getPreviousPage() returns the first page if at start');
$results->setPage(4);
$t->diag('testing page indices');
$results->setPage(4);
$t->is($results->getFirstIndice(), 31, '->getFirstIndice() returns correct first indice in results');
$t->is($results->getLastIndice(), 40, '->getLastIndice() returns correct last indice in result');
$results->setMaxPerPage(8);
$results->setPage($results->getLastPage());
$t->is($results->getLastIndice(), 1001, '->getLastIndice() returns correct last indice if more can fit on the page');
$t->diag('testing link generator');
$results->setMaxPerPage(10);
$results->setPage(4);
$t->is($results->getLinks(5), range(2, 6), '->getLinks() returns the correct link range');
$results->setPage(1);
$t->is($results->getLinks(5), range(1, 5), '->getLinks() returns correct link range when at start of index');
$results->setPage(101);
$t->is($results->getLinks(5), range(97, 101), '->getLinks() returns link range when at end of index');
$t->diag('testing mixins');
function callListener($event)
{
    if ($event['method'] == 'goodMethod') {
        $args = $event['arguments'];
        $event->setReturnValue($args[0] + 1);
        return true;
    }
    return false;
}
$lucene->getEventDispatcher()->connect('pager.method_not_found', 'callListener');