Example #1
0
  @Test
  public void hasNextPage() {
    Query query = new QueryStub(10);
    Paginator<TestModel> paginator = new Paginator<TestModel>(3, 0, "test", query);

    assertTrue(paginator.hasNextPage());
  }
Example #2
0
  @Test
  public void hasPreviousPage() {
    Query query = new QueryStub(10);
    Paginator<TestModel> paginator = new Paginator<TestModel>(2, 1, "test", query);

    assertTrue(paginator.hasPreviousPage());
  }
Example #3
0
  @Test
  public void nextLabel() {
    Query query = new QueryStub();
    Paginator<TestModel> paginator = new Paginator<TestModel>(2, 0, "test", query);

    assertEquals("3 - 4", paginator.nextLabel());
  }
Example #4
0
  @Test
  public void getElements() {
    Query query = new QueryStub();
    Paginator<TestModel> paginator = new Paginator<TestModel>(2, 0, "test", query);

    List<TestModel> result = paginator.getElements();

    assertNotNull(result);
  }
Example #5
0
 public PageResult(Paginator pageInfo, List<T> result) {
   if (result != null) {
     this.result.setResult(result);
   }
   if (pageInfo != null) {
     this.setPageSize(pageInfo.getPageSize());
     this.setTotalCount(pageInfo.getTotalCount());
     this.setCurrentPage(pageInfo.getCurrentPage());
   }
 }
Example #6
0
  @Test
  public void shouldInitializePaginationOptionWithOffset0ForFirstPage() {
    Map<String, String> parameters = new HashMap<>();
    Paginator paginator = new Paginator(parameters, scheme, parser);

    when(scheme.nextPage(eq(parameters), any(Page.class))).thenReturn("testresponse");
    when(parser.parse("testresponse"))
        .thenReturn(new PaginatedResponse(null, new PaginatedResponseMeta(null, null, null, 0)));
    paginator.nextPage();

    ArgumentCaptor<Page> optionCaptor = ArgumentCaptor.forClass(Page.class);
    verify(scheme).nextPage(eq(parameters), optionCaptor.capture());
    Page paginationOption = optionCaptor.getValue();
    assertEquals(100, paginationOption.getLimit());
    assertEquals(0, paginationOption.getOffset());
  }
Example #7
0
  private void assertSlide(int a, int b, int c, int d, int e, int f, int g) {
    int i = 0;
    int[] slider = pg.getSlider(7);

    assertEquals(a, slider[i++]);
    assertEquals(b, slider[i++]);
    assertEquals(c, slider[i++]);
    assertEquals(d, slider[i++]);
    assertEquals(e, slider[i++]);
    assertEquals(f, slider[i++]);
    assertEquals(g, slider[i++]);
  }
Example #8
0
  @Test
  public void shouldReturnNullIfNoPage() {
    Map<String, String> parameters = new HashMap<>();
    Paginator paginator = new Paginator(parameters, scheme, parser);
    PaginatedResponse paginatedResult =
        new PaginatedResponse(
            new JsonArray(),
            new PaginatedResponseMeta(new Page(100, 10), null, new Page(90, 10), 10));
    when(parser.parse(anyString())).thenReturn(paginatedResult);

    paginator.nextPage();
    PaginatedResponse lastPage = paginator.nextPage();

    ArgumentCaptor<Page> optionCaptor = ArgumentCaptor.forClass(Page.class);
    verify(scheme, times(1)).nextPage(eq(parameters), optionCaptor.capture());
    Page paginationOption = optionCaptor.getValue();
    assertEquals(100, paginationOption.getLimit());
    assertEquals(0, paginationOption.getOffset());

    assertNull(lastPage);
  }
Example #9
0
  @Test
  public void shouldFetchNextPage() {
    Map<String, String> parameters = new HashMap<>();
    Paginator paginator = new Paginator(parameters, scheme, parser);
    PaginatedResponse paginatedResult =
        new PaginatedResponse(
            new JsonArray(), new PaginatedResponseMeta(null, new Page(100, 100), null, 0));
    when(parser.parse(anyString())).thenReturn(paginatedResult);

    paginator.nextPage();
    paginator.nextPage();

    ArgumentCaptor<Page> optionCaptor = ArgumentCaptor.forClass(Page.class);
    verify(scheme, times(2)).nextPage(eq(parameters), optionCaptor.capture());
    List<Page> allValues = optionCaptor.getAllValues();
    assertEquals(2, allValues.size());
    assertEquals(100, allValues.get(0).getLimit());
    assertEquals(0, allValues.get(0).getOffset());

    assertEquals(100, allValues.get(1).getLimit());
    assertEquals(100, allValues.get(1).getOffset());
  }
Example #10
0
  @Test
  public void shouldOverrideDefaultLimitAndOffsetIfProvidedInParams() {

    Map<String, String> parameters =
        new HashMap<String, String>() {
          {
            put(Constants.OFFSET, "2000");
            put(Constants.LIMIT, "1000");
          }
        };
    Paginator paginator = new Paginator(parameters, scheme, parser);
    when(scheme.nextPage(eq(parameters), any(Page.class))).thenReturn("testresponse");
    when(parser.parse("testresponse"))
        .thenReturn(new PaginatedResponse(null, new PaginatedResponseMeta(null, null, null, 0)));
    paginator.nextPage();

    paginator.nextPage();
    ArgumentCaptor<Page> optionCaptor = ArgumentCaptor.forClass(Page.class);
    verify(scheme).nextPage(eq(parameters), optionCaptor.capture());

    assertEquals(2000, optionCaptor.getValue().getOffset());
    assertEquals(1000, optionCaptor.getValue().getLimit());
  }
Example #11
0
  @Test
  public void setItem() {
    pg.setItems(123);

    // 13页
    pg.setItem(122);

    assertEquals(13, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(12, pg.getPreviousPage());
    assertEquals(3, pg.getPreviousPage(10));
    assertEquals(13, pg.getNextPage());
    assertEquals(13, pg.getNextPage(10));

    assertEquals(121, pg.getBeginIndex());
    assertEquals(123, pg.getEndIndex());

    assertEquals(120, pg.getOffset());
    assertEquals(3, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertFalse(pg.isDisabledPage(11));
    assertTrue(pg.isDisabledPage(13));
    assertTrue(pg.isDisabledPage(14));

    // 1页
    pg.setItem(0);

    assertEquals(1, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(1, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(2, pg.getNextPage());
    assertEquals(11, pg.getNextPage(10));
    assertEquals(13, pg.getLastPage());

    assertEquals(1, pg.getBeginIndex());
    assertEquals(10, pg.getEndIndex());

    assertEquals(0, pg.getOffset());
    assertEquals(10, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertTrue(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertFalse(pg.isDisabledPage(13));
    assertTrue(pg.isDisabledPage(14));
  }
Example #12
0
  /** 测试有限多项。 */
  @Test
  public void limitedItems() {
    pg.setItems(123);

    assertEquals(13, pg.getPages());
    assertEquals(123, pg.getItems());
    assertEquals(10, pg.getItemsPerPage());

    // 初始状态,第1页
    assertEquals(1, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(1, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(2, pg.getNextPage());
    assertEquals(11, pg.getNextPage(10));
    assertEquals(13, pg.getLastPage());

    assertEquals(1, pg.getBeginIndex());
    assertEquals(10, pg.getEndIndex());

    assertEquals(0, pg.getOffset());
    assertEquals(10, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertTrue(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertFalse(pg.isDisabledPage(13));
    assertTrue(pg.isDisabledPage(14));

    // 下一页,第2页
    pg.setPage(2);

    assertEquals(2, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(1, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(3, pg.getNextPage());
    assertEquals(12, pg.getNextPage(10));

    assertEquals(11, pg.getBeginIndex());
    assertEquals(20, pg.getEndIndex());

    assertEquals(10, pg.getOffset());
    assertEquals(10, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertTrue(pg.isDisabledPage(2));
    assertFalse(pg.isDisabledPage(13));
    assertTrue(pg.isDisabledPage(14));

    // 第11页
    pg.setPage(11);

    assertEquals(11, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(10, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(12, pg.getNextPage());
    assertEquals(13, pg.getNextPage(10));

    assertEquals(101, pg.getBeginIndex());
    assertEquals(110, pg.getEndIndex());

    assertEquals(100, pg.getOffset());
    assertEquals(10, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertTrue(pg.isDisabledPage(11));
    assertFalse(pg.isDisabledPage(13));
    assertTrue(pg.isDisabledPage(14));

    // 第13页(最后一页)
    pg.setPage(13);

    assertEquals(13, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(12, pg.getPreviousPage());
    assertEquals(3, pg.getPreviousPage(10));
    assertEquals(13, pg.getNextPage());
    assertEquals(13, pg.getNextPage(10));

    assertEquals(121, pg.getBeginIndex());
    assertEquals(123, pg.getEndIndex());

    assertEquals(120, pg.getOffset());
    assertEquals(3, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertFalse(pg.isDisabledPage(11));
    assertTrue(pg.isDisabledPage(13));
    assertTrue(pg.isDisabledPage(14));
  }
Example #13
0
  @Test
  public void pagination() {

    assertEquals(5, Paginator.pagination(1, 10, 5));
  }
Example #14
0
  @Test
  public void setItems() {
    pg.setItems(123);
    pg.setPage(11);
    pg.setItems(133); // 改变items

    assertEquals(14, pg.getPages());
    assertEquals(133, pg.getItems());
    assertEquals(10, pg.getItemsPerPage());

    assertEquals(11, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(10, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(12, pg.getNextPage());
    assertEquals(14, pg.getNextPage(10));

    assertEquals(101, pg.getBeginIndex());
    assertEquals(110, pg.getEndIndex());

    assertEquals(100, pg.getOffset());
    assertEquals(10, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertTrue(pg.isDisabledPage(11));
    assertFalse(pg.isDisabledPage(13));
    assertFalse(pg.isDisabledPage(14));
    assertTrue(pg.isDisabledPage(15));
  }
Example #15
0
  @Test
  public void setItemsPerPage() {
    pg.setItems(123);
    pg.setPage(11);

    // 变大itemsPerPage
    pg.setItemsPerPage(20);

    assertEquals(7, pg.getPages());
    assertEquals(123, pg.getItems());
    assertEquals(20, pg.getItemsPerPage());

    assertEquals(6, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(5, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(7, pg.getNextPage());
    assertEquals(7, pg.getNextPage(10));

    assertEquals(101, pg.getBeginIndex());
    assertEquals(120, pg.getEndIndex());

    assertEquals(100, pg.getOffset());
    assertEquals(20, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertTrue(pg.isDisabledPage(6));
    assertFalse(pg.isDisabledPage(7));
    assertTrue(pg.isDisabledPage(8));

    // 变小itemsPerPage
    pg.setItemsPerPage(5);

    assertEquals(25, pg.getPages());
    assertEquals(123, pg.getItems());
    assertEquals(5, pg.getItemsPerPage());

    assertEquals(21, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(20, pg.getPreviousPage());
    assertEquals(11, pg.getPreviousPage(10));
    assertEquals(22, pg.getNextPage());
    assertEquals(25, pg.getNextPage(10));

    assertEquals(101, pg.getBeginIndex());
    assertEquals(105, pg.getEndIndex());

    assertEquals(100, pg.getOffset());
    assertEquals(5, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertTrue(pg.isDisabledPage(21));
    assertFalse(pg.isDisabledPage(22));
    assertTrue(pg.isDisabledPage(26));
  }
Example #16
0
  @Test
  public void noItems() {
    pg.setItems(0);
    pg.setPage(1);

    assertEquals(0, pg.getPages());
    assertEquals(10, pg.getItemsPerPage());

    assertEquals(0, pg.getPage());
    assertEquals(0, pg.getFirstPage());
    assertEquals(0, pg.getPreviousPage());
    assertEquals(0, pg.getPreviousPage(10));
    assertEquals(0, pg.getNextPage());
    assertEquals(0, pg.getNextPage(10));

    assertEquals(0, pg.getBeginIndex());
    assertEquals(0, pg.getEndIndex());

    assertEquals(0, pg.getOffset());
    assertEquals(0, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertTrue(pg.isDisabledPage(1));
    assertTrue(pg.isDisabledPage(2));
    assertTrue(pg.isDisabledPage(21));
    assertTrue(pg.isDisabledPage(22));
    assertTrue(pg.isDisabledPage(26));
  }
Example #17
0
  /** 测试无限多项。 */
  @Test
  public void unknownItems() {
    assertEquals(Paginator.UNKNOWN_ITEMS, pg.getItems());
    assertEquals(10, pg.getItemsPerPage());

    // 初始状态,第1页
    assertEquals(1, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(1, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(2, pg.getNextPage());
    assertEquals(11, pg.getNextPage(10));

    assertEquals(1, pg.getBeginIndex());
    assertEquals(10, pg.getEndIndex());

    assertEquals(0, pg.getOffset());
    assertEquals(10, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertTrue(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));

    // 下一页,第2页
    pg.setPage(2);

    assertEquals(2, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(1, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(3, pg.getNextPage());
    assertEquals(12, pg.getNextPage(10));

    assertEquals(11, pg.getBeginIndex());
    assertEquals(20, pg.getEndIndex());

    assertEquals(10, pg.getOffset());
    assertEquals(10, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertTrue(pg.isDisabledPage(2));

    // 第11页
    pg.setPage(11);

    assertEquals(11, pg.getPage());
    assertEquals(1, pg.getFirstPage());
    assertEquals(10, pg.getPreviousPage());
    assertEquals(1, pg.getPreviousPage(10));
    assertEquals(12, pg.getNextPage());
    assertEquals(21, pg.getNextPage(10));

    assertEquals(101, pg.getBeginIndex());
    assertEquals(110, pg.getEndIndex());

    assertEquals(100, pg.getOffset());
    assertEquals(10, pg.getLength());

    assertTrue(pg.isDisabledPage(0));
    assertFalse(pg.isDisabledPage(1));
    assertFalse(pg.isDisabledPage(2));
    assertTrue(pg.isDisabledPage(11));
    assertFalse(pg.isDisabledPage(12));
  }
Example #18
0
  @Test
  public void slider() {
    pg.setItems(0);
    assertEquals(0, pg.getSlider().length);

    pg.setItems(123);
    assertEquals(0, pg.getSlider(0).length);

    assertSlide(1, 2, 3, 4, 5, 6, 7);

    pg.setPage(2);
    assertSlide(1, 2, 3, 4, 5, 6, 7);

    pg.setPage(3);
    assertSlide(1, 2, 3, 4, 5, 6, 7);

    pg.setPage(4);
    assertSlide(1, 2, 3, 4, 5, 6, 7);

    pg.setPage(5);
    assertSlide(2, 3, 4, 5, 6, 7, 8);

    pg.setPage(6);
    assertSlide(3, 4, 5, 6, 7, 8, 9);

    pg.setPage(7);
    assertSlide(4, 5, 6, 7, 8, 9, 10);

    pg.setPage(8);
    assertSlide(5, 6, 7, 8, 9, 10, 11);

    pg.setPage(9);
    assertSlide(6, 7, 8, 9, 10, 11, 12);

    pg.setPage(10);
    assertSlide(7, 8, 9, 10, 11, 12, 13);

    pg.setPage(11);
    assertSlide(7, 8, 9, 10, 11, 12, 13);

    pg.setPage(12);
    assertSlide(7, 8, 9, 10, 11, 12, 13);

    pg.setPage(13);
    assertSlide(7, 8, 9, 10, 11, 12, 13);
  }