package net.dev123.mblog;
import static org.junit.Assert.assertTrue;
import java.lang.reflect.Method;
import java.util.List;
import net.dev123.commons.Paging;
import net.dev123.commons.util.ListUtil;
public class PagingTest {
/*测试上翻
* list:为已经预提取好的列表.
*/
public static <T> void pageUp(List<T> list, MicroBlog mBlog, Method method) {
assertTrue(ListUtil.isNotEmpty(list));
if (list.size() < 6) {
assertTrue(false);
}
int size = list.size();
int middle = size/2;
T divide = list.get(middle);
T target = list.get(middle - 1);
Paging<T> pagingUp = new Paging<T>();
pagingUp.setGlobalSince(divide);
List<T> listTest = null;
try {
listTest = (List<T>)method.invoke(mBlog, pagingUp);
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
assertTrue(ListUtil.isNotEmpty(listTest));
assertTrue(listTest.get(listTest.size()-1).equals(target));
}
/*
* 测试下翻
*/
public static <T> void pageDown(List<T> list, MicroBlog mBlog, Method method) {
assertTrue(ListUtil.isNotEmpty(list));
if (list.size() < 6) {
assertTrue(false);
}
int size = list.size();
int middle = size/2;
T divide = list.get(middle);
T target = list.get(middle - 1);
Paging<T> pagingDown = new Paging<T>();
target = list.get(middle + 1);
pagingDown.setGlobalMax(divide);
List<T> listTest = null;
try {
listTest = (List<T>)method.invoke(mBlog, pagingDown);
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
assertTrue(ListUtil.isNotEmpty(listTest));
assertTrue(listTest.get(0).equals(target));
}
public static <T> void pageDown(List<T> list, MicroBlog mBlog,
Method method, Object args) {
assertTrue(ListUtil.isNotEmpty(list));
if (list.size() < 6) {
assertTrue(false);
}
int size = list.size();
int middle = size/2;
T divide = list.get(middle);
T target = list.get(middle - 1);
Paging<T> pagingDown = new Paging<T>();
target = list.get(middle + 1);
pagingDown.setGlobalMax(divide);
List<T> listTest = null;
try {
listTest = (List<T>)method.invoke(mBlog, args, pagingDown);
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
assertTrue(ListUtil.isNotEmpty(listTest));
assertTrue(listTest.get(0).equals(target));
}
/*
* 测试中间展开
*/
public static <T> void pageExpand(List<T> list, MicroBlog mBlog, Method method) {
assertTrue(ListUtil.isNotEmpty(list));
if (list.size() < 6) {
assertTrue(false);
}
int size = list.size();
Paging<T> pagingExpand = new Paging<T>();
T max = list.get(0);
T end = list.get(size - 1);
T targetMax = list.get(1);
T targetSince = list.get(size - 2);
pagingExpand.setGlobalMax(max);
pagingExpand.setGlobalSince(end);
List<T> listTest = null;
try {
listTest = (List<T>)method.invoke(mBlog, pagingExpand);
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
assertTrue(ListUtil.isNotEmpty(listTest));
assertTrue(listTest.get(0).equals(targetMax));
assertTrue(listTest.get(listTest.size()-1).equals(targetSince));
}
}