1 /***************************************************************************************
2 * Copyright (c) Jonas Bonér, Alexandre Vasseur. All rights reserved. *
3 * http://aspectwerkz.codehaus.org *
4 * ---------------------------------------------------------------------------------- *
5 * The software in this package is published under the terms of the LGPL license *
6 * a copy of which has been included with this distribution in the license.txt file. *
7 **************************************************************************************/
8 package test.annotation;
9
10 import junit.framework.TestCase;
11
12 /***
13 * @author <a href="mailto:jboner@codehaus.org">Jonas Bonér </a>
14 */
15 public class AnnotationTest extends TestCase {
16 private static String s_logString = "";
17
18 /***
19 * @AnnotationPrivateField
20 */
21 private int privateField;
22
23 /***
24 * @AnnotationProtectedField
25 */
26 protected int protectedField;
27
28 /***
29 * @AnnotationPublicField
30 */
31 public int publicField;
32
33 /***
34 * @AnnotationPackagePrivateField
35 */
36 int packagePrivateField/package-summary.html">ong> packagePrivateField;
37
38 public AnnotationTest() {
39 }
40
41 public AnnotationTest(String name) {
42 super(name);
43 }
44
45 public void testPrivateMethod() {
46 s_logString = "";
47 privateMethod();
48 assertEquals("call execution invocation execution call ", s_logString);
49 }
50
51 public void testProtectedMethod() {
52 s_logString = "";
53 protectedMethod();
54 assertEquals("call execution invocation execution call ", s_logString);
55 }
56
57 public void testPackagePrivateMethod() {
58 s_logString = "";
59 packagePrivateMethod();
60 assertEquals("call execution invocation execution call ", s_logString);
61 }
62
63 public void testPublicMethod() {
64 s_logString = "";
65 publicMethod();
66 assertEquals("call execution execution2 invocation execution2 execution call ", s_logString);
67 }
68
69 public void testSetPublicField() {
70 s_logString = "";
71 publicField = 0;
72 assertEquals("set set ", s_logString);
73 }
74
75 public void testSetPrivateField() {
76 s_logString = "";
77 privateField = 0;
78 assertEquals("set set ", s_logString);
79 }
80
81 public void testSetProtectedField() {
82 s_logString = "";
83 protectedField = 0;
84 assertEquals("set set ", s_logString);
85 }
86
87 public void testSetPackagePrivateField() {
88 s_logString = "";
89 packagePrivateField = 0;
90 assertEquals("set set ", s_logString);
91 }
92
93 public void testGetPublicField() {
94 s_logString = "";
95 int i = publicField;
96 assertEquals("get get ", s_logString);
97 }
98
99 public void testGetPrivateField() {
100 s_logString = "";
101 int i = privateField;
102 assertEquals("get get ", s_logString);
103 }
104
105 public void testGetProtectedField() {
106 s_logString = "";
107 int i = protectedField;
108 assertEquals("get get ", s_logString);
109 }
110
111 public void testGetPackagePrivateField() {
112 s_logString = "";
113 int</strong> i = packagePrivateField;
114 assertEquals("get get ", s_logString);
115 }
116
117 public static void main(String[] args) {
118 junit.textui.TestRunner.run(suite());
119 }
120
121 public static junit.framework.Test suite() {
122 return new junit.framework.TestSuite(AnnotationTest.class);
123 }
124
125
126 public static void log(final String wasHere) {
127 s_logString += wasHere;
128 }
129
130 /***
131 * @AnnotationPrivateMethod
132 */
133 private void privateMethod() {
134 log("invocation ");
135 }
136
137 /***
138 * @AnnotationProtectedMethod
139 */
140 protected void protectedMethod() {
141 log("invocation ");
142 }
143
144 /***
145 * @AnnotationPublicMethod
146 * @AnnotationPublicMethod2
147 */
148 public void publicMethod() {
149 log("invocation ");
150 }
151
152 /***
153 * @AnnotationPackagePrivateMethod
154 */
155 void packagePrivateMethod() {/package-summary.html">ong> packagePrivateMethod() {
156 log("invocation ");
157 }
158 }