Inheritance: extends Illuminate\Database\Eloquent\Model, use trait Askedio\ItemPaginator\ItemPaginatorTrait
 public function testPaginator()
 {
     $limit = 2;
     // Yes, factories are better.
     $user = new User();
     $user->create(['id' => 100, 'name' => 'test', 'email' => '*****@*****.**', 'password' => 'test']);
     $user->create(['id' => 190, 'name' => 't0est', 'email' => '*****@*****.**', 'password' => 'te0st']);
     $user->create(['id' => 210, 'name' => 't90est', 'email' => '*****@*****.**', 'password' => 'te90st']);
     $user->create(['name' => 't0uest', 'email' => '*****@*****.**', 'password' => 'te0st']);
     $user->create(['name' => 'trader_rocr100uest', 'email' => '*****@*****.**', 'password' => 't0e0st']);
     $paginated = $user->orderBy('id', 'desc')->itemPaginateDesc($limit);
     $results = $paginated->toArray();
     $this->assertInstanceOf('Askedio\\ItemPaginator\\ItemPaginator', $paginated);
     $this->assertEquals(212, $results['from']);
     $this->assertEquals(211, $results['to']);
     $this->assertEquals('http://localhost?from=211', $results['next_page_url']);
     $paginated = $user->itemPaginate($limit, ['*'], 'from', 0, 'id');
     $results = $paginated->toArray();
     $this->assertEquals(100, $results['from']);
     $this->assertEquals(190, $results['to']);
     $this->assertEquals('http://localhost?from=190', $results['next_page_url']);
     $paginated = $user->itemPaginate($limit, ['*'], 'from', 190, 'id');
     $results = $paginated->toArray();
     $this->assertEquals(210, $results['from']);
     $this->assertEquals(211, $results['to']);
     $this->assertEquals('http://localhost?from=211', $results['next_page_url']);
     request()->merge(['from' => 1000]);
     $paginated = $user->itemPaginate($limit);
     $results = $paginated->toArray();
     $this->assertEquals(null, $results['from']);
     $this->assertEquals(null, $results['to']);
 }