@Test
  public void testGetLastPageWhenEvenlyDivisible() {
    Page p = new Page();
    p.setMaxRecords(10);

    PageRequest pr = new PageRequest();
    p.setPageRequest(pr);

    pr.setPerPage(10);
    pr.setPage(1);

    assertEquals(Integer.valueOf(1), interceptor.getLastPage(p));
  }
  @Test
  public void testGetLastPageWhenMaxRecordsLessThanLimit() {
    Page p = new Page();
    p.setMaxRecords(8);

    PageRequest pr = new PageRequest();
    p.setPageRequest(pr);

    pr.setPerPage(10);
    pr.setPage(1);

    assertEquals(Integer.valueOf(1), interceptor.getLastPage(p));
  }
  @Test
  public void testGetNextPageWhenNoNextAvailable() {
    Page p = new Page();
    p.setMaxRecords(55);

    PageRequest pr = new PageRequest();
    p.setPageRequest(pr);

    pr.setPerPage(10);
    pr.setPage(6);

    assertNull(interceptor.getNextPage(p));
  }
  @Test
  public void testGetNextPage() {
    Page p = new Page();
    p.setMaxRecords(55);

    PageRequest pr = new PageRequest();
    p.setPageRequest(pr);

    pr.setPerPage(10);
    pr.setPage(3);

    assertEquals(Integer.valueOf(4), interceptor.getNextPage(p));
  }
  @Test
  public void testGetPrevPageWhenOnFirstPage() {
    Page p = new Page();
    p.setMaxRecords(55);

    PageRequest pr = new PageRequest();
    p.setPageRequest(pr);

    pr.setPerPage(10);
    pr.setPage(1);

    assertNull(interceptor.getPrevPage(p));
  }
  @Test
  public void testPagesWithOutOfBoundsInitialPage() {
    Page p = new Page();
    p.setMaxRecords(8);

    PageRequest pr = new PageRequest();
    p.setPageRequest(pr);

    pr.setPerPage(10);
    pr.setPage(2);

    assertNull(interceptor.getPrevPage(p));
    assertNull(interceptor.getNextPage(p));
    assertEquals(Integer.valueOf(1), interceptor.getLastPage(p));
  }