@@ -0,0 +1,1013 @@
+package study.hard.javalib.nativelib;%0A%0Aimport static org.junit.Assert.*;%0A%0Aimport org.junit.Test;%0A%0Aimport study.hard.javalib.entity.User;%0A%0Apublic class CallByReferenceVSCallByValueTest %7B%0A%0A%09private void foo(User user) %7B%0A%09%09System.out.println(%22A user in the foo: %22 + user.getName());%0A%09%09assertEquals(%22James%22, user.getName());%0A%0A%09%09user = new User(%22Tomas%22, 31);%0A%09%09System.out.println(%22A User in the foo: %22 + user.getName());%0A%09%09assertEquals(%22Tomas%22, user.getName());%0A%09%7D%0A%0A%09private void bar(User user) %7B%0A%09%09System.out.println(%22A user in the bar: %22 + user.getName());%0A%09%09user.setName(%22Tomas%22);%0A%09%09System.out.println(%22A User in the bar: %22 + user.getName());%0A%09%7D%0A%0A%09@Test%0A%09public void test1() %7B%0A%09%09User user = new User(%22James%22, 29);%0A%0A%09%09System.out.println(%22user: %22 + user.getName());%0A%09%09foo(user);%0A%09%09System.out.println(%22user: %22 + user.getName());%0A%09%7D%0A%0A%09@Test%0A%09public void test2() %7B%0A%09%09User user = new User(%22James%22, 29);%0A%0A%09%09System.out.println(%22user: %22 + user.getName());%0A%09%09bar(user);%0A%09%09System.out.println(%22user: %22 + user.getName());%0A%09%7D%0A%0A%7D%0A

Add test case that compares 'call by reference vs. call by value'.