From 44fed6ce8b3f40e995e7f5e3ed20a04666b2239f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=88=9F?= Date: Thu, 24 Dec 2020 11:58:17 +0800 Subject: [PATCH] add demo case for access private method with interface parameter --- .../com/alibaba/testable/demo/DemoPrivateAccess.java | 10 ++++++---- .../alibaba/testable/demo/DemoPrivateAccessTest.java | 8 ++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/demo/java-demo/src/main/java/com/alibaba/testable/demo/DemoPrivateAccess.java b/demo/java-demo/src/main/java/com/alibaba/testable/demo/DemoPrivateAccess.java index 4e0f8c0..2ad09d3 100644 --- a/demo/java-demo/src/main/java/com/alibaba/testable/demo/DemoPrivateAccess.java +++ b/demo/java-demo/src/main/java/com/alibaba/testable/demo/DemoPrivateAccess.java @@ -1,5 +1,7 @@ package com.alibaba.testable.demo; +import java.util.List; + /** * 演示私有成员访问功能 * Demonstrate private member access functionality @@ -22,15 +24,15 @@ public class DemoPrivateAccess { /** * private static method */ - private static String privateStaticFunc(String s, int i) { - return s + " + " + i; + private static String privateStaticFunc(String str, int i) { + return str + " + " + i; } /** * private member method */ - private String privateFunc(String s, int i) { - return s + " - " + i; + private String privateFunc(List list, String str, int i) { + return list.stream().reduce((a, s) -> a + s).orElse("") + " + " + str + " + " + i; } } diff --git a/demo/java-demo/src/test/java/com/alibaba/testable/demo/DemoPrivateAccessTest.java b/demo/java-demo/src/test/java/com/alibaba/testable/demo/DemoPrivateAccessTest.java index 7c34fbe..a611c07 100644 --- a/demo/java-demo/src/test/java/com/alibaba/testable/demo/DemoPrivateAccessTest.java +++ b/demo/java-demo/src/test/java/com/alibaba/testable/demo/DemoPrivateAccessTest.java @@ -4,6 +4,9 @@ import com.alibaba.testable.core.accessor.PrivateAccessor; import com.alibaba.testable.processor.annotation.EnablePrivateAccess; import org.junit.jupiter.api.Test; +import java.util.ArrayList; +import java.util.List; + import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -17,8 +20,9 @@ class DemoPrivateAccessTest { @Test void should_able_to_access_private_method() { - assertEquals("hello - 1", demoPrivateAccess.privateFunc("hello", 1)); - assertEquals("hello - 1", PrivateAccessor.invoke(demoPrivateAccess, "privateFunc", "hello", 1)); + List list = new ArrayList() {{ add("a"); add("b"); add("c"); }}; + assertEquals("abc + hello + 1", demoPrivateAccess.privateFunc(list, "hello", 1)); + assertEquals("abc + hello + 1", PrivateAccessor.invoke(demoPrivateAccess, "privateFunc", list, "hello", 1)); } @Test