package com.alibaba.json.bvt.bug;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.parser.ParserConfig;
import junit.framework.TestCase;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class Bug_for_SpitFire_6 extends TestCase {
protected void setUp() throws Exception {
com.alibaba.fastjson.parser.ParserConfig.global.addAccept("com.alibaba.json.bvt.bug.Bug_for_SpitFire_6.");
}
public void test_ref() throws Exception {
GenericRS<HotelAvailRS> rs = new GenericRS<HotelAvailRS>();
HotelAvailRS availRs = new HotelAvailRS();
AvailRoomStayDTO stay = new AvailRoomStayDTO();
availRs.getHotelAvailRoomStay().getRoomStays().add(stay);
availRs.getHotelAvailRoomStay().getRoomStays().add(stay);
availRs.getHotelAvailRoomStay().getRoomStays().add(stay);
availRs.getHotelAvailRoomStay().getRoomStays().add(stay);
rs.setPayload(availRs);
String text = JSON.toJSONString(rs, SerializerFeature.WriteClassName, SerializerFeature.PrettyFormat);
System.out.println(text);
JSON.parseObject(text, GenericRS.class);
}
public static class GenericRS<T> {
private T payload;
public T getPayload() {
return payload;
}
public void setPayload(T payload) {
this.payload = payload;
}
}
public static class HotelAvailRS {
private HotelAvailRoomStayDTO hotelAvailRoomStay = new HotelAvailRoomStayDTO();
public HotelAvailRoomStayDTO getHotelAvailRoomStay() {
return hotelAvailRoomStay;
}
public void setHotelAvailRoomStay(HotelAvailRoomStayDTO hotelAvailRoomStay) {
this.hotelAvailRoomStay = hotelAvailRoomStay;
}
}
public static class HotelAvailRoomStayDTO {
private List<AvailRoomStayDTO> roomStays = new ArrayList<AvailRoomStayDTO>();
public List<AvailRoomStayDTO> getRoomStays() {
return roomStays;
}
public void setRoomStays(List<AvailRoomStayDTO> roomStays) {
this.roomStays = roomStays;
}
}
public static class AvailRoomStayDTO {
}
}