Showing the changes to java/tests/InnerClassTest.java (1 of 11 files). Show all
Unified · Split
| @@ -0,0 +1,56 @@ | |||
| 1 | |||
| 2 | import static utils.Utils.*; | ||
| 3 | |||
| 4 | public class InnerClassTest { | ||
| 5 | |||
| 6 | class TestSuperClass { | ||
| 7 | private long privateField; | ||
| 8 | protected int protectedField = 13; | ||
| 9 | public float publicField; | ||
| 10 | |||
| 11 | private void privateFunction() { | ||
| 12 | publicField = protectedField + privateField; | ||
| 13 | } | ||
| 14 | protected int protectedFunction() { | ||
| 15 | privateField = 42; | ||
| 16 | return protectedField; | ||
| 17 | } | ||
| 18 | public boolean publicFunction() { | ||
| 19 | protectedFunction(); | ||
| 20 | privateFunction(); | ||
| 21 | return true; | ||
| 22 | } | ||
| 23 | } | ||
| 24 | |||
| 25 | class TestDerivedClass extends TestSuperClass { | ||
| 26 | protected int protectedFunction() { | ||
| 27 | protectedField = 44; | ||
| 28 | return protectedField; | ||
| 29 | } | ||
| 30 | public boolean publicFunction() { | ||
| 31 | super.publicFunction(); | ||
| 32 | return false; | ||
| 33 | } | ||
| 34 | } | ||
| 35 | |||
| 36 | public void runTests() { | ||
| 37 | TestSuperClass test1 = new TestSuperClass(); | ||
| 38 | assertEquals(0.0, test1.publicField); | ||
| 39 | test1.publicField = 6.0f * 9.0f; | ||
| 40 | assertEquals(54.0, test1.publicField); | ||
| 41 | assertEquals(true, test1.publicFunction()); | ||
| 42 | assertEquals(55.0, test1.publicField); | ||
| 43 | |||
| 44 | TestDerivedClass test2 = new TestDerivedClass(); | ||
| 45 | assertEquals(0.0, test2.publicField); | ||
| 46 | test2.publicField = 6.0f * 8.0f; | ||
| 47 | assertEquals(48.0, test2.publicField); | ||
| 48 | assertEquals(false, test2.publicFunction()); | ||
| 49 | assertEquals(44.0, test2.publicField); | ||
| 50 | } | ||
| 51 | |||
| 52 | public static void main(String[] args) { | ||
| 53 | InnerClassTest test = new InnerClassTest(); | ||
| 54 | test.runTests(); | ||
| 55 | } | ||
| 56 | } | ||