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; 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; 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; return list.stream().reduce((a, s) -> a + s).orElse("") + " + " + str + " + " + i;
} }

View File

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