add demo for private method without argument

This commit is contained in:
金戟 2020-12-31 20:40:42 +08:00
parent 36f170bdd3
commit 94127064e8
2 changed files with 26 additions and 8 deletions

View File

@ -22,16 +22,30 @@ public class DemoPrivateAccess {
public final Double pi = 3.14;
/**
* private static method
* private static method without arguments
*/
private static String privateStaticFunc(String str, int i) {
private static String privateStaticFunc() {
return "static";
}
/**
* private static method with arguments
*/
private static String privateStaticFuncWithArgs(String str, int i) {
return str + " + " + i;
}
/**
* private member method
* private member method without arguments
*/
private String privateFunc(List<String> list, String str, int i) {
private String privateFunc() {
return "member";
}
/**
* private member method with arguments
*/
private String privateFuncWithArgs(List<String> list, String str, int i) {
return list.stream().reduce((a, s) -> a + s).orElse("") + " + " + str + " + " + i;
}

View File

@ -21,8 +21,10 @@ class DemoPrivateAccessTest {
@Test
void should_able_to_access_private_method() {
List<String> list = new ArrayList<String>() {{ 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));
assertEquals("member", demoPrivateAccess.privateFunc());
assertEquals("member", PrivateAccessor.invoke(demoPrivateAccess, "privateFunc"));
assertEquals("abc + hello + 1", demoPrivateAccess.privateFuncWithArgs(list, "hello", 1));
assertEquals("abc + hello + 1", PrivateAccessor.invoke(demoPrivateAccess, "privateFuncWithArgs", list, "hello", 1));
}
@Test
@ -36,8 +38,10 @@ class DemoPrivateAccessTest {
@Test
void should_able_to_access_private_static_method() {
assertEquals("hello + 1", DemoPrivateAccess.privateStaticFunc("hello", 1));
assertEquals("hello + 1", PrivateAccessor.invokeStatic(DemoPrivateAccess.class, "privateStaticFunc", "hello", 1));
assertEquals("static", DemoPrivateAccess.privateStaticFunc());
assertEquals("static", PrivateAccessor.invokeStatic(DemoPrivateAccess.class, "privateStaticFunc"));
assertEquals("hello + 1", DemoPrivateAccess.privateStaticFuncWithArgs("hello", 1));
assertEquals("hello + 1", PrivateAccessor.invokeStatic(DemoPrivateAccess.class, "privateStaticFuncWithArgs", "hello", 1));
}
@Test