From ce9c65883586a4801034d57c426ac6068af66535 Mon Sep 17 00:00:00 2001 From: stylefeng Date: Wed, 7 Aug 2024 14:44:17 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.3.0=E3=80=91=E3=80=90scanner?= =?UTF-8?q?=E3=80=91=E3=80=90test=E3=80=91=E6=9B=B4=E6=96=B0=E9=80=92?= =?UTF-8?q?=E5=BD=92=E5=AF=B9=E8=B1=A1=E7=9A=84=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roses/kernel/scanner/api/TestArray.java | 4 +- .../roses/kernel/scanner/api/TestBase.java | 4 +- .../kernel/scanner/api/TestCircular.java | 42 +++++++++++++++++++ 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestCircular.java diff --git a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestArray.java b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestArray.java index 7683fe4d9..6f14f41fa 100644 --- a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestArray.java +++ b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestArray.java @@ -18,10 +18,10 @@ import java.util.List; import java.util.Set; /** - * 测试 + * 测试数组元素的类型解析 * * @author fengshuonan - * @since 2024/8/7 14:25 + * @since 2024/8/7 14:39 */ public class TestArray { diff --git a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestBase.java b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestBase.java index 323ff0ccf..6a51eb14d 100644 --- a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestBase.java +++ b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestBase.java @@ -15,10 +15,10 @@ import java.lang.reflect.Type; import java.math.BigDecimal; /** - * 测试 + * 基础类型的解析 * * @author fengshuonan - * @since 2024/8/7 14:25 + * @since 2024/8/7 14:40 */ public class TestBase { diff --git a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestCircular.java b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestCircular.java new file mode 100644 index 000000000..a1fe773e0 --- /dev/null +++ b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestCircular.java @@ -0,0 +1,42 @@ +package cn.stylefeng.roses.kernel.scanner.api; + +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.lang.TypeReference; +import cn.hutool.core.util.IdUtil; +import cn.stylefeng.roses.kernel.scanner.api.factory.ClassMetaFactory; +import cn.stylefeng.roses.kernel.scanner.api.pojo.CircularObject; +import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.FieldMetadata; +import cn.stylefeng.roses.kernel.scanner.api.util.AdvancedClassTypeUtil; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONWriter; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.Type; + +/** + * 针对object类型,递归调用的解析 + * + * @author fengshuonan + * @since 2024/8/7 14:40 + */ +public class TestCircular { + + @BeforeEach + public void setUp() { + AdvancedClassTypeUtil.TEMP_SCAN_PACKAGE_LIST = ListUtil.of("cn.stylefeng"); + } + + @Test + public void testCircular() { + Type type = new TypeReference() { + }.getType(); + + FieldMetadata fieldMetadata = ClassMetaFactory.beginCreateFieldMetadata(type, IdUtil.fastSimpleUUID()); + + String jsonString = JSON.toJSONString(fieldMetadata, JSONWriter.Feature.PrettyFormat); + + System.out.println(jsonString); + } + +}