package com.alibaba.json.bvt.parser;
import java.util.List;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.TypeReference;
public class JSONLexerTest_2 extends TestCase {
public void test_0() throws Exception {
VO vo = (VO) JSON.parseObject("{\"@type\":\"com.alibaba.json.bvt.parser.JSONLexerTest_2$VO\"}", VO.class);
Assert.assertNotNull(vo);
}
public void test_1() throws Exception {
Exception error = null;
try {
JSON.parseObject("{\"@type\":\"com.alibaba.json.bvt.parser.JSONLexerTest_2$VO1\"}", VO.class);
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_2() throws Exception {
Exception error = null;
try {
JSON.parseObject("{\"@type\":\"com.alibaba.json.bvt.parser.JSONLexerTest_2$A\"}", VO.class);
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_a() throws Exception {
P a = JSON.parseObject("{\"vo\":{\"@type\":\"com.alibaba.json.bvt.parser.JSONLexerTest_2$VO\"}}", P.class);
Assert.assertNotNull(a);
}
public void test_list() throws Exception {
List<VO> list = JSON.parseObject("[{\"@type\":\"com.alibaba.json.bvt.parser.JSONLexerTest_2$VO\"}]",
new TypeReference<List<VO>>() {
});
Assert.assertNotNull(list);
Assert.assertNotNull(list.get(0));
}
public void test_list_2() throws Exception {
List<VO> list = JSON.parseObject("[{\"@type\":\"com.alibaba.json.bvt.parser.JSONLexerTest_2$VO\"},{}]",
new TypeReference<List<VO>>() {
});
Assert.assertNotNull(list);
Assert.assertEquals(2, list.size());
Assert.assertNotNull(list.get(0));
Assert.assertNotNull(list.get(1));
}
public void test_error() throws Exception {
Exception error = null;
try {
JSON.parseObject("[{\"@type\":\"com.alibaba.json.bvt.parser.JSONLexerTest_2$VO\"}[]",
new TypeReference<List<VO>>() {
});
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public static class P {
private VO vo;
public VO getVo() {
return vo;
}
public void setVo(VO vo) {
this.vo = vo;
}
}
public static class VO {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
public static class VO1 {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
public static class A {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
}