package org.springside.modules.unit.orm;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.springside.modules.orm.Page;
public class PageTest {
private Page<Object> page;
@Before
public void setUp() {
page = new Page<Object>();
}
/**
* 检测Page的默认值契约.
*/
@Test
public void defaultParameter() {
assertEquals(1, page.getPageNo());
assertEquals(-1, page.getPageSize());
assertEquals(-1, page.getTotalCount());
assertEquals(-1, page.getTotalPages());
assertEquals(true, page.isAutoCount());
page.setPageNo(-1);
assertEquals(1, page.getPageNo());
assertNull(page.getOrder());
assertNull(page.getOrderBy());
assertEquals(false, page.isOrderBySetted());
page.setOrderBy("Id");
assertEquals(false, page.isOrderBySetted());
page.setOrder("ASC,desc");
}
@Test(expected = IllegalArgumentException.class)
public void checkInvalidOrderParameter() {
page.setOrder("asc,abcd");
}
@Test
public void getFirst() {
page.setPageSize(10);
page.setPageNo(1);
assertEquals(1, page.getFirst());
page.setPageNo(2);
assertEquals(11, page.getFirst());
}
@Test
public void getTotalPages() {
page.setPageSize(10);
page.setTotalCount(1);
assertEquals(1, page.getTotalPages());
page.setTotalCount(10);
assertEquals(1, page.getTotalPages());
page.setTotalCount(11);
assertEquals(2, page.getTotalPages());
}
@Test
public void hasNextOrPre() {
page.setPageSize(10);
page.setPageNo(1);
page.setTotalCount(9);
assertEquals(false, page.isHasNext());
page.setTotalCount(11);
assertEquals(true, page.isHasNext());
page.setPageNo(1);
assertEquals(false, page.isHasPre());
page.setPageNo(2);
assertEquals(true, page.isHasPre());
}
@Test
public void getNextOrPrePage() {
page.setPageNo(1);
assertEquals(1, page.getPrePage());
page.setPageNo(2);
assertEquals(1, page.getPrePage());
page.setPageSize(10);
page.setTotalCount(11);
page.setPageNo(1);
assertEquals(2, page.getNextPage());
page.setPageNo(2);
assertEquals(2, page.getNextPage());
}
@Test
public void setAllParameterInOneLine() {
page.pageNo(2).pageSize(10).orderBy("abc").order(Page.ASC).autoCount(true);
assertEquals(2, page.getPageNo());
assertEquals(10, page.getPageSize());
assertEquals("abc", page.getOrderBy());
assertEquals(Page.ASC, page.getOrder());
assertEquals(true, page.isAutoCount());
}
}