KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > constructor > ConstructorAdviceTest


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.constructor;
9
10 import junit.framework.TestCase;
11
12 /**
13  * @author <a HREF="mailto:jboner@codehaus.org">Jonas BonŽr </a>
14  */

15 public class ConstructorAdviceTest extends TestCase {
16     private static String JavaDoc s_logCall = "";
17
18     private static String JavaDoc s_logExecution = "";
19
20     public ConstructorAdviceTest() {
21     }
22
23     public ConstructorAdviceTest(String JavaDoc name) {
24         super(name);
25     }
26
27     public void testCallAroundAdvice() {
28         s_logCall = "";
29         TestAroundAdvice test = new TestAroundAdvice(1L, new Object JavaDoc(), new String JavaDoc[]{});
30         assertEquals("beforeCall init afterCall ", s_logCall);
31         assertNotNull(test);
32     }
33
34     public void testCallBeforeAdvice() {
35         s_logCall = "";
36         TestBeforeAdvice test = new TestBeforeAdvice();
37         assertEquals("preCall init ", s_logCall);
38         assertNotNull(test);
39     }
40
41     public void testCallAfterAdvice() {
42         s_logCall = "";
43         TestAfterAdvice test = new TestAfterAdvice("test");
44         assertEquals("test postCall ", s_logCall);
45         assertNotNull(test);
46     }
47
48     public void testCallBeforeAfterAdvice() {
49         s_logCall = "";
50         TestBeforeAfterAdvice test = new TestBeforeAfterAdvice(
51                 new String JavaDoc[]{
52                     "test"
53                 }
54         );
55         assertEquals("preCall test postCall ", s_logCall);
56         assertNotNull(test);
57     }
58
59     public void testCallReturnFalseType() {
60         s_logCall = "";
61         TestReturnFalseType test = null;
62         try {
63             test = new TestReturnFalseType();
64         } catch (ClassCastException JavaDoc e) {
65             return;
66         }
67         fail("this point should not have been reached a class cast exception should have been thrown");
68     }
69
70     public void testExecutionAroundAdvice() {
71         s_logExecution = "";
72         TestAroundAdvice test = new TestAroundAdvice(1L, new Object JavaDoc(), new String JavaDoc[]{});
73         assertEquals("beforeExecution init afterExecution ", s_logExecution);
74         assertNotNull(test);
75         assertTrue(test instanceof TestAroundAdvice);
76     }
77
78     public void testExecutionBeforeAdvice() {
79         s_logExecution = "";
80         TestBeforeAdvice test = new TestBeforeAdvice();
81         assertEquals("preExecution init ", s_logExecution);
82         assertNotNull(test);
83         assertTrue(test instanceof TestBeforeAdvice);
84     }
85
86     public void testExecutionAfterAdvice() {
87         s_logExecution = "";
88         TestAfterAdvice test = new TestAfterAdvice("test");
89         assertEquals("init postExecution ", s_logExecution);
90         assertNotNull(test);
91         assertTrue(test instanceof TestAfterAdvice);
92     }
93
94     public void testExecutionBeforeAfterAdvice() {
95         s_logExecution = "";
96         TestBeforeAfterAdvice test = new TestBeforeAfterAdvice(new String JavaDoc[]{"test"});
97         assertEquals("preExecution init postExecution ", s_logExecution);
98         assertNotNull(test);
99         assertTrue(test instanceof TestBeforeAfterAdvice);
100     }
101
102     public void testExecutionReturnFalseType() {
103         s_logExecution = "";
104         TestReturnFalseType test = null;
105         test = new TestReturnFalseType();
106         if (!test.m_updatedByAdvice) {
107             fail("should have been updated by advice");
108         }
109     }
110
111     public static void main(String JavaDoc[] args) {
112         junit.textui.TestRunner.run(suite());
113     }
114
115     public static junit.framework.Test suite() {
116         return new junit.framework.TestSuite(ConstructorAdviceTest.class);
117     }
118
119     public static void logCall(final String JavaDoc wasHere) {
120         s_logCall += wasHere;
121     }
122
123     public static void logExecution(final String JavaDoc wasHere) {
124         s_logExecution += wasHere;
125     }
126 }
Popular Tags