mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
pr#245
This commit is contained in:
@@ -1,112 +1,95 @@
|
||||
package cn.hutool.core.bean;
|
||||
|
||||
import lombok.Data;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import cn.hutool.core.bean.DynaBean;
|
||||
|
||||
/**
|
||||
* {@link DynaBean}单元测试
|
||||
* @author Looly
|
||||
*
|
||||
* @author Looly
|
||||
*/
|
||||
public class DynaBeanTest {
|
||||
|
||||
|
||||
@Test
|
||||
public void beanTest(){
|
||||
public void beanTest() {
|
||||
User user = new User();
|
||||
DynaBean bean = DynaBean.create(user);
|
||||
bean.set("name", "李华");
|
||||
bean.set("age", 12);
|
||||
|
||||
|
||||
String name = bean.get("name");
|
||||
Assert.assertEquals(user.getName(), name);
|
||||
int age = bean.get("age");
|
||||
Assert.assertEquals(user.getAge(), age);
|
||||
|
||||
|
||||
//重复包装测试
|
||||
DynaBean bean2 = new DynaBean(bean);
|
||||
User user2 = bean2.getBean();
|
||||
Assert.assertEquals(user, user2);
|
||||
|
||||
|
||||
//执行指定方法
|
||||
Object invoke = bean2.invoke("testMethod");
|
||||
Assert.assertEquals("test for 李华", invoke);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void bean_by_static_clazz_constructor_Test() {
|
||||
String name_before = "李华";
|
||||
int age_before = 12;
|
||||
DynaBean bean = DynaBean.create(User.class);
|
||||
bean.set("name", name_before);
|
||||
bean.set("age", age_before);
|
||||
@Test
|
||||
public void beanByStaticClazzConstructorTest() {
|
||||
String name_before = "李华";
|
||||
int age_before = 12;
|
||||
DynaBean bean = DynaBean.create(User.class);
|
||||
bean.set("name", name_before);
|
||||
bean.set("age", age_before);
|
||||
|
||||
String name_after = bean.get("name");
|
||||
Assert.assertEquals(name_before, name_after);
|
||||
int age_after = bean.get("age");
|
||||
Assert.assertEquals(age_before, age_after);
|
||||
String name_after = bean.get("name");
|
||||
Assert.assertEquals(name_before, name_after);
|
||||
int age_after = bean.get("age");
|
||||
Assert.assertEquals(age_before, age_after);
|
||||
|
||||
//重复包装测试
|
||||
DynaBean bean2 = new DynaBean(bean);
|
||||
User user2 = bean2.getBean();
|
||||
User user1 = bean.getBean();
|
||||
Assert.assertEquals(user1, user2);
|
||||
//重复包装测试
|
||||
DynaBean bean2 = new DynaBean(bean);
|
||||
User user2 = bean2.getBean();
|
||||
User user1 = bean.getBean();
|
||||
Assert.assertEquals(user1, user2);
|
||||
|
||||
//执行指定方法
|
||||
Object invoke = bean2.invoke("testMethod");
|
||||
Assert.assertEquals("test for 李华", invoke);
|
||||
}
|
||||
//执行指定方法
|
||||
Object invoke = bean2.invoke("testMethod");
|
||||
Assert.assertEquals("test for 李华", invoke);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void bean_by_instance_clazz_constructor_Test() {
|
||||
String name_before = "李华";
|
||||
int age_before = 12;
|
||||
DynaBean bean = new DynaBean(User.class);
|
||||
bean.set("name", name_before);
|
||||
bean.set("age", age_before);
|
||||
@Test
|
||||
public void beanByInstanceClazzConstructorTest() {
|
||||
String name_before = "李华";
|
||||
int age_before = 12;
|
||||
DynaBean bean = new DynaBean(User.class);
|
||||
bean.set("name", name_before);
|
||||
bean.set("age", age_before);
|
||||
|
||||
String name_after = bean.get("name");
|
||||
Assert.assertEquals(name_before, name_after);
|
||||
int age_after = bean.get("age");
|
||||
Assert.assertEquals(age_before, age_after);
|
||||
String name_after = bean.get("name");
|
||||
Assert.assertEquals(name_before, name_after);
|
||||
int age_after = bean.get("age");
|
||||
Assert.assertEquals(age_before, age_after);
|
||||
|
||||
//重复包装测试
|
||||
DynaBean bean2 = new DynaBean(bean);
|
||||
User user2 = bean2.getBean();
|
||||
User user1 = bean.getBean();
|
||||
Assert.assertEquals(user1, user2);
|
||||
//重复包装测试
|
||||
DynaBean bean2 = new DynaBean(bean);
|
||||
User user2 = bean2.getBean();
|
||||
User user1 = bean.getBean();
|
||||
Assert.assertEquals(user1, user2);
|
||||
|
||||
//执行指定方法
|
||||
Object invoke = bean2.invoke("testMethod");
|
||||
Assert.assertEquals("test for 李华", invoke);
|
||||
}
|
||||
|
||||
public static class User{
|
||||
//执行指定方法
|
||||
Object invoke = bean2.invoke("testMethod");
|
||||
Assert.assertEquals("test for 李华", invoke);
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class User {
|
||||
private String name;
|
||||
private int age;
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public int getAge() {
|
||||
return age;
|
||||
}
|
||||
public void setAge(int age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public String testMethod(){
|
||||
|
||||
public String testMethod() {
|
||||
return "test for " + this.name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "User [name=" + name + ", age=" + age + "]";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user