}
*/
public void testExecuteQueryForPaginatedList() throws SQLException {
// Get List of all 5
PaginatedList list = sqlMap.queryForPaginatedList("getAllAccountsViaResultMap", null, 2);
// Test initial state (page 0)
assertFalse(list.isPreviousPageAvailable());
assertTrue(list.isNextPageAvailable());
assertAccount1((Account) list.get(0));
assertEquals(2, list.size());
assertEquals(1, ((Account) list.get(0)).getId());
assertEquals(2, ((Account) list.get(1)).getId());
// Test illegal previous page (no effect, state should be same)
list.previousPage();
assertFalse(list.isPreviousPageAvailable());
assertTrue(list.isNextPageAvailable());
assertAccount1((Account) list.get(0));
assertEquals(2, list.size());
assertEquals(1, ((Account) list.get(0)).getId());
assertEquals(2, ((Account) list.get(1)).getId());
// Test next (page 1)
list.nextPage();
assertTrue(list.isPreviousPageAvailable());
assertTrue(list.isNextPageAvailable());
assertEquals(2, list.size());
assertEquals(3, ((Account) list.get(0)).getId());
assertEquals(4, ((Account) list.get(1)).getId());
// Test next (page 2 -last)
list.nextPage();
assertTrue(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(1, list.size());
assertEquals(5, ((Account) list.get(0)).getId());
// Test previous (page 1)
list.previousPage();
assertTrue(list.isPreviousPageAvailable());
assertTrue(list.isNextPageAvailable());
assertEquals(2, list.size());
assertEquals(3, ((Account) list.get(0)).getId());
assertEquals(4, ((Account) list.get(1)).getId());
// Test previous (page 0 -first)
list.previousPage();
assertFalse(list.isPreviousPageAvailable());
assertTrue(list.isNextPageAvailable());
assertAccount1((Account) list.get(0));
assertEquals(2, list.size());
assertEquals(1, ((Account) list.get(0)).getId());
assertEquals(2, ((Account) list.get(1)).getId());
// Test goto (page 0)
list.gotoPage(0);
assertFalse(list.isPreviousPageAvailable());
assertTrue(list.isNextPageAvailable());
assertEquals(2, list.size());
assertEquals(1, ((Account) list.get(0)).getId());
assertEquals(2, ((Account) list.get(1)).getId());
// Test goto (page 1)
list.gotoPage(1);
assertTrue(list.isPreviousPageAvailable());
assertTrue(list.isNextPageAvailable());
assertEquals(2, list.size());
assertEquals(3, ((Account) list.get(0)).getId());
assertEquals(4, ((Account) list.get(1)).getId());
// Test goto (page 2)
list.gotoPage(2);
assertTrue(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(1, list.size());
assertEquals(5, ((Account) list.get(0)).getId());
// Test illegal goto (page 0)
list.gotoPage(3);
assertTrue(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(0, list.size());
list = sqlMap.queryForPaginatedList("getNoAccountsViaResultMap", null, 2);
// Test empty list
assertFalse(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(0, list.size());
// Test next
list.nextPage();
assertFalse(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(0, list.size());
// Test previous
list.previousPage();
assertFalse(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(0, list.size());
// Test previous
list.gotoPage(0);
assertFalse(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(0, list.size());
list = sqlMap.queryForPaginatedList("getFewAccountsViaResultMap", null, 2);
assertFalse(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(1, list.size());
// Test next
list.nextPage();
assertFalse(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(1, list.size());
// Test previous
list.previousPage();
assertFalse(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(1, list.size());
// Test previous
list.gotoPage(0);
assertFalse(list.isPreviousPageAvailable());
assertFalse(list.isNextPageAvailable());
assertEquals(1, list.size());
// Test Even - Two Pages
try {
initScript("com/scripts/more-account-records.sql");
} catch (Exception e) {
fail(e.toString());
}
list = sqlMap.queryForPaginatedList("getAllAccountsViaResultMap", null, 5);
assertEquals(5, list.size());
list.nextPage();
assertEquals(5, list.size());
list.isPreviousPageAvailable();
list.previousPage();
assertEquals(5, list.size());
}