package com.alibaba.json.bvt.parser.deser.generic;
import java.util.List;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class GenericTest2 extends TestCase {
public void test_for_bingyang() throws Exception {
String text = "{\"count\":123,\"index\":7,\"items\":[{\"id\":234,\"latitude\":2.5,\"longtitude\":3.7}]}";
PageBean<ActiveBase> pageBean = JSON.parseObject(text, new TypeReference<PageBean<ActiveBase>>() {});
Assert.assertNotNull(pageBean);
Assert.assertEquals(123, pageBean.getCount());
Assert.assertEquals(7, pageBean.getIndex());
Assert.assertNotNull(pageBean.getItems());
Assert.assertEquals(1, pageBean.getItems().size());
ActiveBase active = pageBean.getItems().get(0);
Assert.assertEquals(new Integer(234), active.getId());
Assert.assertTrue(3.7D == active.getLongtitude());
Assert.assertTrue(2.5D == active.getLatitude());
}
public static class ActiveBase extends BaseModel {
private double latitude;
private double longtitude;
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongtitude() {
return longtitude;
}
public void setLongtitude(double longtitude) {
this.longtitude = longtitude;
}
}
public static class BaseModel {
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
public static class PageBean<T> {
private int count;
private int index;
private List<T> items;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public List<T> getItems() {
return items;
}
public void setItems(List<T> items) {
this.items = items;
}
}
}