package com.alibaba.json.bvt.parser.deser;
import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class DefaultObjectDeserializerTest5 extends TestCase {
public void test_error() throws Exception {
Exception error = null;
try {
JSON.parseObject("[]", new TypeReference<Map<Object, Object>>() {
});
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_error_2() throws Exception {
Exception error = null;
try {
JSON.parseObject(",]", new TypeReference<Map<Object, Object>>() {
});
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_error_3() throws Exception {
Exception error = null;
try {
JSON.parseObject("[{},{\"$ref\":0}]",
new TypeReference<List<Map<Object, Object>>>() {
});
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_error_4() throws Exception {
Exception error = null;
try {
JSON.parseObject("[{},{\"$ref\":\"$[0]\",}]",
new TypeReference<List<Map<Object, Object>>>() {
});
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_0() throws Exception {
List<Map<Object, Object>> list = JSON.parseObject("[{},{\"$ref\":\"$[0]\"}]",
new TypeReference<List<Map<Object, Object>>>() {
});
Assert.assertSame(list.get(0), list.get(1));
}
public void test_1() throws Exception {
Map<Object, Map<Object, Object>> map = JSON.parseObject("{\"1\":{},\"2\":{\"$ref\":\"$\"}}",
new TypeReference<Map<Object, Map<Object, Object>>>() {
});
Assert.assertSame(map, map.get("2"));
}
public void test_2() throws Exception {
Map<Object, Map<Object, Object>> map = JSON.parseObject("{\"1\":{},\"2\":{\"$ref\":\"..\"}}",
new TypeReference<Map<Object, Map<Object, Object>>>() {
});
Assert.assertSame(map, map.get("2"));
}
}