From ca8378e6f471c9bc82b83888ff45a29b0e27014a Mon Sep 17 00:00:00 2001 From: guoz <763366136@qq.com> Date: Sun, 18 Sep 2022 18:38:56 +0800 Subject: [PATCH] add BeanUtilTest test case --- .../hippo4j/config/toolkit/BeanUtilTest.java | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/hippo4j-config/src/test/java/cn/hippo4j/config/toolkit/BeanUtilTest.java b/hippo4j-config/src/test/java/cn/hippo4j/config/toolkit/BeanUtilTest.java index 9a090ae5..101c09f6 100644 --- a/hippo4j-config/src/test/java/cn/hippo4j/config/toolkit/BeanUtilTest.java +++ b/hippo4j-config/src/test/java/cn/hippo4j/config/toolkit/BeanUtilTest.java @@ -21,4 +21,90 @@ package cn.hippo4j.config.toolkit; * BeanUtil Test */ public class BeanUtilTest { + + @Test + public void beanToMapConvertTest(){ + // 测试BeanToMap + final Person person = new Person(); + person.setName("Hippo4j"); + person.setAge(1); + person.setAddress("hippo4j.cn"); + person.setSize(999); + final Map convert = BeanUtil.convert(person, Map.class); + Assert.isTrue(Objects.equals("Hippo4j", convert.get("name"))); + Assert.isTrue(Objects.equals(1, convert.get("age"))); + Assert.isTrue(Objects.equals("hippo4j.cn", convert.get("address"))); + Assert.isTrue(Objects.equals(999, convert.get("size"))); + } + + @Test + public void mapToBeanConvertTest(){ + // 测试MapToBean + final HashMap map = MapUtil.newHashMap(); + map.put("name", "Hippo4j"); + map.put("age", 1); + map.put("address", "hippo4j.cn"); + map.put("size", 999); + final Person person = BeanUtil.convert(map, Person.class); + Assert.isTrue(Objects.equals("Hippo4j", person.getName())); + Assert.isTrue(Objects.equals(1, person.getAge())); + Assert.isTrue(Objects.equals("hippo4j.cn", person.getAddress())); + Assert.isTrue(Objects.equals(999, person.getSize())); + } + + @Test + public void ListToListConvertTest() { + final List list = Lists.newArrayList(); + list.add(Person.builder().name("one").age(1).build()); + list.add(Person.builder().name("two").age(2).build()); + list.add(Person.builder().name("three").age(3).build()); + + final List persons = BeanUtil.convert(list, PersonVo.class); + Assert.isTrue(Objects.equals(list.size(), persons.size())); + } + + @Test + public void copyPropertiesBeanToMapTest() { + // 测试BeanToMap + final Person person = new Person(); + person.setName("Hippo4j"); + + final Map convert = BeanUtil.convert(person, Map.class); + Assert.isTrue(Objects.equals("Hippo4j", convert.get("name"))); + + // static属性应被忽略 + Assert.isTrue(!convert.containsKey("STATIC_NAME")); + } + + /** + * 测试在不忽略错误情况下,转换失败需要报错。 + */ + @Test(expected = ConversionException.class) + public void mapToBeanWinErrorTest() { + final Map map = new HashMap<>(); + map.put("age", "Hippo4j"); + BeanUtil.convert(map, Person.class); + } + + // ----------------------------------------------------------------------------------------------------------------- + + @Getter + @Setter + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class Person { + public static final String STATIC_NAME = "STATIC_NAME"; + + private String name; + private int age; + private String address; + private Integer size; + } + + @Setter + public static class PersonVo { + private String name; + private int age; + } }