package com.alibaba.json.bvt.parser;
import java.util.HashMap;
import java.util.Map;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONType;
import com.alibaba.fastjson.util.TypeUtils;
public class TypeUtilsTest_castToJavaBean_JSONType extends TestCase {
public void test_castToJavaBean() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", 123);
map.put("name", "abc");
VO vo = TypeUtils.castToJavaBean(map, VO.class, null);
Assert.assertEquals(123, vo.getId());
Assert.assertEquals("abc", vo.getName());
Assert.assertEquals("{\"name\":\"abc\",\"id\":123}", JSON.toJSONString(vo));
}
public void test_castToJavaBean_v2() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", 123);
map.put("name", "abc");
V2 vo = TypeUtils.castToJavaBean(map, V2.class, null);
Assert.assertEquals(123, vo.getId());
Assert.assertEquals("abc", vo.getName());
Assert.assertEquals("{\"id\":123,\"name\":\"abc\"}", JSON.toJSONString(vo));
}
public void test_castToJavaBean_v3() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", 123);
map.put("name", "abc");
V3 vo = TypeUtils.castToJavaBean(map, V3.class, null);
Assert.assertEquals(123, vo.getId());
Assert.assertEquals("abc", vo.getName());
Assert.assertEquals("{\"id\":123,\"name\":\"abc\"}", JSON.toJSONString(vo));
}
@JSONType(orders={"name", "id"})
public static class VO {
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;
}
}
@JSONType(orders={"name"})
public static class V2 {
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;
}
}
@JSONType(orders={"name","xx"})
public static class V3 {
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;
}
}
}