}
protected void testPaging(final Class type, final int pageSize, final int page, final int number, final int offset, final boolean includeDeletedAndHidden, final boolean publicOnly, final PropertyKey sortKey, final boolean sortDesc) throws FrameworkException {
Result result = app.nodeQuery(type).sort(sortKey).order(sortDesc).page(page).pageSize(pageSize).getResult();
logger.log(Level.INFO, "Raw result size: {0}, expected: {1} (page size: {2}, page: {3})", new Object[] { result.getRawResultCount(), number, pageSize, page });
assertTrue(result.getRawResultCount() == ((pageSize == 0 || page == 0) ? 0 : number));
long expectedResultCount = (pageSize == 0 || page == 0)
? 0
: Math.min(number, pageSize);
int startIndex = (Math.max(page, 1) - 1) * pageSize;
logger.log(Level.INFO, "Result size: {0}, expected: {1}, start index: {2}", new Object[] { result.size(), expectedResultCount, startIndex });
assertTrue(result.size() == expectedResultCount);
for (int j = 0; j < expectedResultCount; j++) {
String expectedName = "TestOne-" + (offset + j + startIndex);
String gotName = result.get(j).getProperty(AbstractNode.name);
System.out.println(expectedName + ", got: " + gotName);
assertEquals(expectedName, gotName);
}