KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > fieldsetbug > FieldSetTest


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.fieldsetbug;
9
10
11 import test.ClassInfoTest;
12 import junit.framework.TestCase;
13
14 /**
15  * AW-437 set pc and around advice
16  *
17  * @author <a HREF='mailto:the_mindstorm@evolva.ro'>Alexandru Popescu</a>
18  */

19 public class FieldSetTest extends TestCase {
20     public void testNonLongDoublePublicFieldSet() {
21         TargetClass instance1ofA = new TargetClass();
22
23         instance1ofA.publicIntField = 2;
24         assertEquals("should not have access to the field", 1, instance1ofA.publicIntField);
25
26         instance1ofA.publicCharField = 'b';
27         assertEquals("should not have access to the field", 'a', instance1ofA.publicCharField);
28
29         try {
30             mayThrowException();
31         } catch(Exception JavaDoc e) {
32             ;
33         }
34     }
35
36     public void testLongDoublePublicFieldSet() {
37         TargetClass tc = new TargetClass();
38
39         tc.publicLongField = 2L;
40         assertEquals("should not have access to the field", 1L, tc.publicLongField);
41
42         tc.publicDoubleField = 2D;
43         assertEquals("should not have access to the field", 1D, tc.publicLongField, 0D);
44     }
45     
46     /**
47      * java.lang.VerifyError: (class: test/fieldsetbug/FieldSetTest, method: testLongDoublePublicFieldSet signature: ()V)
48      * Inconsistent stack height 0 != 2
49      */

50     public void testLongDoublePublicFieldSetWithExceptionHandling() {
51         TargetClass instance1ofA = new TargetClass();
52
53         instance1ofA.publicLongField = 2L;
54         assertEquals("should not have access to the field", 1L, instance1ofA.publicLongField);
55
56         instance1ofA.publicDoubleField = 2D;
57         assertEquals("should not have access to the field", 1D, instance1ofA.publicLongField, 0D);
58
59         try {
60             mayThrowException();
61         } catch(Exception JavaDoc e) {
62             ;
63         }
64     }
65     
66     public void testCtorAssignNonLongDoublePublicFieldSet() {
67         TargetClass tc = new TargetClass(2);
68         assertEquals("should have access to the field", 2, tc.publicIntField);
69
70         tc = new TargetClass('b');
71         assertEquals("should not have access to the field", 'b', tc.publicCharField);
72
73         try {
74             mayThrowException();
75         } catch(Exception JavaDoc ex) {
76             ;
77         }
78     }
79
80     public void testCtorAssignLongDoublePublicFieldSet() {
81         TargetClass tc = new TargetClass(2L);
82         assertEquals("should have access to the field", 2L, tc.publicLongField);
83
84         tc = new TargetClass(2D);
85         assertEquals("should have access to the field", 2D, tc.publicDoubleField, 0D);
86
87         try {
88             mayThrowException();
89         } catch(Exception JavaDoc e) {
90             ;
91         }
92     }
93
94     public void testCtorAndAssignLongPublicFieldSet() {
95         TargetClass tc = new TargetClass(2L);
96         assertEquals("should have access to the field", 2L, tc.publicLongField);
97
98         tc.publicLongField = 3L;
99         assertEquals("should not have access to the field", 2L, tc.publicLongField);
100     }
101
102     public void testCtorAndAssignNonLongWithExceptionHandling() {
103         TargetClass tc = new TargetClass(2);
104         assertEquals("should have access to the field", 2, tc.publicIntField);
105
106         tc.publicIntField = 3;
107         assertEquals("should not have access to the field", 2, tc.publicIntField);
108
109         try {
110             mayThrowException();
111         } catch(Exception JavaDoc ex) {
112             ;
113         }
114     }
115
116     /**
117      * java.lang.VerifyError: (class: test/fieldsetbug/FieldSetTest, method: testCtorAndAssignLongPublicFieldSetThreadSleep signature: ()V)
118      * Inconsistent stack height 0 != 2
119      */

120     public void testCtorAndAssignLongWithExceptionHandling() {
121         TargetClass tc = new TargetClass(2L);
122         assertEquals("should have access to the field", 2L, tc.publicLongField);
123
124         tc.publicLongField = 3L;
125         assertEquals("should have access to the field", 2L, tc.publicLongField);
126
127         try {
128             mayThrowException();
129         } catch(Exception JavaDoc e) {
130             ;
131         }
132     }
133     
134     private void mayThrowException() throws Exception JavaDoc {
135     }
136     
137     //-- JUnit
138
public static void main(String JavaDoc[] args) {
139         junit.textui.TestRunner.run(suite());
140     }
141
142     public static junit.framework.Test suite() {
143         return new junit.framework.TestSuite(FieldSetTest.class);
144     }
145 }
146
Popular Tags