コード例 #1
0
ファイル: PaginatorTests.java プロジェクト: nmvr2600/citrus
  @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));
  }