This commit is contained in:
Looly
2023-05-04 13:54:30 +08:00
parent 47ab0d02c3
commit 6d8d51ceca
18 changed files with 496 additions and 20 deletions

View File

@@ -0,0 +1,36 @@
/*
* 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.convert;
import org.dromara.hutool.core.reflect.kotlin.TestKBean;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
public class ConvertKBeanTest {
@Test
void mapToBeanTest(){
final HashMap<String, Object> map = new HashMap<>();
map.put("country", "中国");
map.put("age", 18);
map.put("id", "VampireAchao");
final TestKBean testKBean = Convert.convert(TestKBean.class, map);
Assertions.assertEquals("VampireAchao", testKBean.getId());
Assertions.assertEquals("中国", testKBean.getCountry());
Assertions.assertNull(testKBean.getName());
}
}

View File

@@ -0,0 +1,33 @@
/*
* 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.net.url;
import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.map.MapBuilder;
import org.dromara.hutool.core.util.CharsetUtil;
import org.junit.jupiter.api.Test;
import java.util.Map;
public class IssueI6ZF6KTest {
@Test
void buildQueryTest() {
final String json = "{\"keyword\":\"国际 英语 c&b\",\"anyKeyword\":\"1\"}";
final Map<String, Object> form = MapBuilder.<String, Object>of()
.put("condition", json)
.build();
final String requestBody = URLUtil.buildQuery(form, CharsetUtil.UTF_8);
Console.log(requestBody);
}
}

View File

@@ -12,13 +12,28 @@
package org.dromara.hutool.core.reflect.kotlin;
import org.dromara.hutool.core.bean.copier.ValueProvider;
import org.dromara.hutool.core.bean.copier.provider.MapValueProvider;
import org.dromara.hutool.core.convert.Convert;
import org.dromara.hutool.core.map.MapUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.List;
public class KClassUtilTest {
@Test
void isKotlinClassTest() {
boolean kotlinClass = KClassUtil.isKotlinClass(TestKBean.class);
Assertions.assertTrue(kotlinClass);
kotlinClass = KClassUtil.isKotlinClass(KClassUtilTest.class);
Assertions.assertFalse(kotlinClass);
}
@Test
void getConstructorTest() {
final List<?> constructors = KClassUtil.getConstructors(TestKBean.class);
@@ -39,4 +54,18 @@ public class KClassUtilTest {
Assertions.assertEquals("name", parameters.get(1).getName());
Assertions.assertEquals("country", parameters.get(2).getName());
}
@Test
void newInstanceTest() {
final HashMap<String, Object> argsMap = new HashMap<>();
argsMap.put("country", "中国");
argsMap.put("age", 18);
argsMap.put("id", "VampireAchao");
final TestKBean testKBean = KClassUtil.newInstance(TestKBean.class, argsMap);
Assertions.assertEquals("VampireAchao", testKBean.getId());
Assertions.assertEquals("中国", testKBean.getCountry());
Assertions.assertNull(testKBean.getName());
}
}