Skip to content

Commit

Permalink
添加单元测试,测试 PojoUtils 是否能正确处理 list -> pojo -> list -> pojo 这种类型的对象
Browse files Browse the repository at this point in the history
  • Loading branch information
kimi committed Aug 20, 2012
1 parent 2a1fb35 commit 693c2d0
Showing 1 changed file with 39 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -636,6 +636,45 @@ public void testPojoList() throws Exception {
Assert.assertEquals(parent.getAge(), realizeParent.getAge());
}

@Test
public void testListPojoListPojo() throws Exception {
InnerPojo<Parent> parentList = new InnerPojo<Parent>();
Parent parent = new Parent();
parent.setName("zhangsan");
parent.setAge(Integer.MAX_VALUE);
parentList.setList(Arrays.asList(parent));

ListResult<InnerPojo<Parent>> list = new ListResult<InnerPojo<Parent>>();
list.setResult(Arrays.asList(parentList));

Object generializeObject = PojoUtils.generalize(list);
Object realizeObject = PojoUtils.realize(generializeObject, ListResult.class);

Assert.assertTrue(realizeObject instanceof ListResult);
ListResult realizeList = (ListResult)realizeObject;
List realizeInnerList = realizeList.getResult();
Assert.assertEquals(1, realizeInnerList.size());
Assert.assertTrue(realizeInnerList.get(0) instanceof InnerPojo);
InnerPojo realizeParentList = (InnerPojo)realizeInnerList.get(0);
Assert.assertEquals(1, realizeParentList.getList().size());
Assert.assertTrue(realizeParentList.getList().get(0) instanceof Parent);
Parent realizeParent = (Parent)realizeParentList.getList().get(0);
Assert.assertEquals(parent.getName(), realizeParent.getName());
Assert.assertEquals(parent.getAge(), realizeParent.getAge());
}

public static class InnerPojo<T> {
private List<T> list;

public List<T> getList() {
return list;
}

public void setList(List<T> list) {
this.list = list;
}
}

public static class ListResult<T> {
List<T> result;

Expand Down

0 comments on commit 693c2d0

Please sign in to comment.