package com.alibaba.json.bvt.parser.deser.list;
import java.util.ArrayList;
import org.junit.Assert;
import junit.framework.TestCase;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.parser.Feature;
public class ArrayListTypeFieldTest extends TestCase {
public void test_0() throws Exception {
Entity entity = JSON.parseObject("{,,,list:[,,,{value:3}]}", Entity.class);
Assert.assertEquals(3, entity.getList().get(0).getValue());
}
public void test_1() throws Exception {
Entity entity = JSON.parseObject("{list:[{value:3}]}", Entity.class, 0, Feature.AllowUnQuotedFieldNames);
Assert.assertEquals(3, entity.getList().get(0).getValue());
}
public void test_null() throws Exception {
Entity entity = JSON.parseObject("{list:null}", Entity.class, 0, Feature.AllowUnQuotedFieldNames);
Assert.assertEquals(null, entity.getList());
}
public void test_null2() throws Exception {
Entity entity = JSON.parseObject("{list:[null]}", Entity.class, 0, Feature.AllowUnQuotedFieldNames);
Assert.assertEquals(null, entity.getList().get(0));
}
public void test_error_0() throws Exception {
Exception error = null;
try {
JSON.parseObject("{list:{{value:3}]}", Entity.class, 0, Feature.AllowUnQuotedFieldNames);
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
private static class Entity {
private ArrayList<VO> list;
public ArrayList<VO> getList() {
return list;
}
public void setList(ArrayList<VO> list) {
this.list = list;
}
}
public static class VO {
private int value;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
}