KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > staticfield > StaticFieldAdviceTest


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.staticfield;
9
10 import junit.framework.TestCase;
11
12 /**
13  * Test case for AW-92 for static field
14  *
15  * @author <a HREF="mailto:alex@gnilux.com">Alexandre Vasseur </a>
16  */

17 public class StaticFieldAdviceTest extends TestCase {
18     public static int s_fieldA = 0;
19
20     public static int s_fieldB = 0;
21
22     public int m_fieldA = 0;
23
24     public int m_fieldB = 0;
25
26     public void testStaticFieldAccessedOutsideStaticCtx() {
27         assertEquals(1, accessStaticFieldA());
28     }
29
30     public void testStaticFieldAccessedInsideStaticCtx() {
31         assertEquals(1, StaticFieldAdviceTest.accessStaticFieldB());
32     }
33
34     public void testFieldAccessedOutsideStaticCtx() {
35         assertEquals(1, accessFieldA());
36     }
37
38     public void testFieldAccessedInsideStaticCtx() {
39         assertEquals(1, StaticFieldAdviceTest.accessFieldB(this));
40     }
41
42     // -- methods --
43
private int accessStaticFieldA() {
44         //static field access in member method
45
s_fieldA = 1;
46         int value = s_fieldA;
47         return value;
48     }
49
50     private static int accessStaticFieldB() {
51         //static field access in static method
52
s_fieldB = 1;
53         int value = s_fieldB;
54         return value;
55     }
56
57     private int accessFieldA() {
58         //static field access in member method
59
m_fieldA = 1;
60         int value = m_fieldA;
61         return value;
62     }
63
64     private static int accessFieldB(StaticFieldAdviceTest myself) {
65         //field access in static method
66
myself.m_fieldB = 1;
67         int value = myself.m_fieldB;
68         return value;
69     }
70
71     public static void main(String JavaDoc[] args) {
72         junit.textui.TestRunner.run(suite());
73     }
74
75     public static junit.framework.Test suite() {
76         return new junit.framework.TestSuite(StaticFieldAdviceTest.class);
77     }
78 }
Popular Tags