This commit is contained in:
Looly
2023-04-15 14:48:47 +08:00
parent 241aea60e4
commit 2c3eac6046
20 changed files with 676 additions and 289 deletions

View File

@@ -608,7 +608,8 @@ public class BeanUtilTest {
o.setAge(123);
o.setOpenid("asd");
@SuppressWarnings("unchecked") final CopyOptions copyOptions = CopyOptions.of().setIgnoreProperties(Person::getAge,Person::getOpenid);
@SuppressWarnings("unchecked")
final CopyOptions copyOptions = CopyOptions.of().setIgnoreProperties(Person::getAge,Person::getOpenid);
final Person n = new Person();
BeanUtil.copyProperties(o, n, copyOptions);

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.classloader;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* 来自org.apache.dubbo.common.utils.ReflectUtilsTest
*/
public class ClassDescTest {
@Test
void testDesc2Class() {
assertEquals(void.class, ClassDescUtil.descToClass("V"));
assertEquals(boolean.class, ClassDescUtil.descToClass("Z"));
assertEquals(boolean[].class, ClassDescUtil.descToClass("[Z"));
assertEquals(byte.class, ClassDescUtil.descToClass("B"));
assertEquals(char.class, ClassDescUtil.descToClass("C"));
assertEquals(double.class, ClassDescUtil.descToClass("D"));
assertEquals(float.class, ClassDescUtil.descToClass("F"));
assertEquals(int.class, ClassDescUtil.descToClass("I"));
assertEquals(long.class, ClassDescUtil.descToClass("J"));
assertEquals(short.class, ClassDescUtil.descToClass("S"));
assertEquals(String.class, ClassDescUtil.descToClass("Ljava.lang.String;"));
assertEquals(int[][].class, ClassDescUtil.descToClass(ClassDescUtil.getDesc(int[][].class)));
assertEquals(ClassDescTest[].class, ClassDescUtil.descToClass(ClassDescUtil.getDesc(ClassDescTest[].class)));
}
@Test
void getDescTest() {
// getDesc
assertEquals("Z", ClassDescUtil.getDesc(boolean.class));
assertEquals("[[[I", ClassDescUtil.getDesc(int[][][].class));
assertEquals("[[Ljava/lang/Object;", ClassDescUtil.getDesc(Object[][].class));
}
@Test
void nameToClassTest() {
final Class<?> aClass = ClassDescUtil.nameToClass("java.lang.Object[]", true, null);
assertEquals(Object[].class, aClass);
}
}