KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > annotation > AnnotationTest


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 import org.codehaus.aspectwerkz.annotation.Annotations;
12
13 import java.lang.reflect.Method JavaDoc;
14
15 /**
16  * @author <a HREF="mailto:jboner@codehaus.org">Jonas BonŽr </a>
17  */

18 public class AnnotationTest extends TestCase {
19     private static String JavaDoc s_logString = "";
20
21     /**
22      * @AnnotationPrivateField
23      */

24     private int privateField;
25
26     /**
27      * @AnnotationProtectedField
28      */

29     protected int protectedField;
30
31     /**
32      * @AnnotationPublicField
33      */

34     public int publicField;
35
36     /**
37      * @AnnotationPackagePrivateField
38      */

39     int packagePrivateField;
40
41     public AnnotationTest() {
42     }
43
44     public AnnotationTest(String JavaDoc name) {
45         super(name);
46     }
47
48     public void testPrivateMethod() {
49         s_logString = "";
50         privateMethod();
51         assertEquals("call execution invocation execution call ", s_logString);
52     }
53
54     public void testProtectedMethod() {
55         s_logString = "";
56         protectedMethod();
57         assertEquals("call execution invocation execution call ", s_logString);
58     }
59
60     public void testPackagePrivateMethod() {
61         s_logString = "";
62         packagePrivateMethod();
63         assertEquals("call execution invocation execution call ", s_logString);
64     }
65
66     public void testPublicMethod() {
67         s_logString = "";
68         publicMethod();
69         assertEquals("call execution execution2 invocation execution2 execution call ", s_logString);
70     }
71
72     public void testSetPublicField() {
73         s_logString = "";
74         publicField = 0;
75         assertEquals("set set ", s_logString);
76     }
77
78     public void testSetPrivateField() {
79         s_logString = "";
80         privateField = 0;
81         assertEquals("set set ", s_logString);
82     }
83
84     public void testSetProtectedField() {
85         s_logString = "";
86         protectedField = 0;
87         assertEquals("set set ", s_logString);
88     }
89
90     public void testSetPackagePrivateField() {
91         s_logString = "";
92         packagePrivateField = 0;
93         assertEquals("set set ", s_logString);
94     }
95
96     public void testGetPublicField() {
97         s_logString = "";
98         int i = publicField;
99         assertEquals("get get ", s_logString);
100     }
101
102     public void testGetPrivateField() {
103         s_logString = "";
104         int i = privateField;
105         assertEquals("get get ", s_logString);
106     }
107
108     public void testGetProtectedField() {
109         s_logString = "";
110         int i = protectedField;
111         assertEquals("get get ", s_logString);
112     }
113
114     public void testGetPackagePrivateField() {
115         s_logString = "";
116         int i = packagePrivateField;
117         assertEquals("get get ", s_logString);
118     }
119
120     public void testBootstrapCLClassAnnotation() throws Throwable JavaDoc {
121         Method JavaDoc concat = String JavaDoc.class.getMethod("concat", new Class JavaDoc[]{String JavaDoc.class});
122         try {
123             Annotations.getAnnotation("foo", String JavaDoc.class);
124             Annotations.getAnnotation("foo", concat);
125         } catch (Throwable JavaDoc t) {
126             fail(t.toString());
127         }
128     }
129
130
131
132     //-------
133

134     public static void main(String JavaDoc[] args) {
135         junit.textui.TestRunner.run(suite());
136     }
137
138     public static junit.framework.Test suite() {
139         return new junit.framework.TestSuite(AnnotationTest.class);
140     }
141
142     // ==== methods to test ====
143
public static void log(final String JavaDoc wasHere) {
144         s_logString += wasHere;
145     }
146
147     /**
148      * @AnnotationPrivateMethod
149      */

150     private void privateMethod() {
151         log("invocation ");
152     }
153
154     /**
155      * @AnnotationProtectedMethod
156      */

157     protected void protectedMethod() {
158         log("invocation ");
159     }
160
161     /**
162      * @AnnotationPublicMethod
163      * @AnnotationPublicMethod2
164      */

165     public void publicMethod() {
166         log("invocation ");
167     }
168
169     /**
170      * @AnnotationPackagePrivateMethod
171      */

172     void packagePrivateMethod() {
173         log("invocation ");
174     }
175 }
Popular Tags