/src/test/java/com/alibaba/json/bvt/parser/TypeUtilsTest_interface.java
https://github.com/alibaba/fastjson · Java · 136 lines · 90 code · 43 blank · 3 comment · 0 complexity · 4616994739619045766812ac15cf6d62 MD5 · raw file
- package com.alibaba.json.bvt.parser;
- import java.util.ArrayList;
- import java.util.List;
- import junit.framework.TestCase;
- import org.junit.Assert;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.TypeReference;
- import com.alibaba.fastjson.annotation.JSONField;
- public class TypeUtilsTest_interface extends TestCase {
- public void test_castToJavaBean() throws Exception {
- VO vo = new VO();
- vo.setId(123);
- vo.setName("abc");
- Assert.assertEquals("{\"ID\":123,\"name\":\"abc\"}", JSON.toJSONString(vo));
- }
- public void test_parse() throws Exception {
- VO vo = JSON.parseObject("{\"xid\":123,\"name\":\"abc\"}", VO.class);
- Assert.assertEquals(123, vo.getId());
- Assert.assertEquals("abc", vo.getName());
- }
- public void test_parse_var() throws Exception {
- List<?> list = JSON.parseObject("[]", new TypeReference<List<?>>() {
- });
- Assert.assertNotNull(list);
- Assert.assertEquals(0, list.size());
- }
- public void test_deser() throws Exception {
- JSON.parseObject("{\"id\":123}", new TypeReference<X_I>(){});
- }
-
- public void test_deser2() throws Exception {
- JSON.parseObject("{\"id\":123}", new TypeReference<X_X<Integer>>(){});
- }
-
- public void test_deser2_x() throws Exception {
- JSON.parseObject("{\"id\":123}", new TypeReference<X_X<?>>(){});
- }
-
- public static class X_I extends X<Integer> {
-
- }
-
- public static class X_X<T> extends X<T> {
-
- }
- public static class X<T> {
- private T id;
- public X(){
- }
- public T getId() {
- return id;
- }
- public void setId(T id) {
- this.id = id;
- }
- }
- public static class VO implements IV {
- private int id;
- private String name;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getName(String xx) {
- return null;
- }
- public String getName(String xx, int v) {
- // TODO Auto-generated method stub
- return null;
- }
- @JSONField(deserialize = false)
- public void setName(int value) {
- // TODO Auto-generated method stub
- }
- public void setName(int value, int x) {
- // TODO Auto-generated method stub
- }
- }
- public static interface IV {
- @JSONField(name = "ID")
- int getId();
- @JSONField(name = "xid")
- void setId(int value);
- @JSONField(name = "NAME")
- String getName(String xx);
- @JSONField(name = "NAME")
- String getName(String xx, int v);
- @JSONField(name = "xid_1")
- void setName(int value);
- }
- }