KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tirsen > nanning > config > ClassAspectTest


1 package com.tirsen.nanning.config;
2
3 import junit.framework.TestCase;
4 import com.tirsen.nanning.AspectInstance;
5 import com.tirsen.nanning.MixinInstance;
6
7 public class ClassAspectTest extends TestCase {
8     private boolean wasCalled;
9
10     public static interface Interface {}
11
12     public static interface OtherInterface {}
13
14     public void testAdvise() {
15         ClassAspect classAspect = new ClassAspect(Interface.class);
16         classAspect.addAspect(new Aspect() {
17             public void introduce(AspectInstance aspectInstance) {
18             }
19
20             public void advise(AspectInstance aspectInstance) {
21                 wasCalled = true;
22             }
23         });
24
25         assertFalse(wasCalled);
26         classAspect.advise(new AspectInstance(OtherInterface.class));
27         assertFalse(wasCalled);
28         classAspect.advise(new AspectInstance(Interface.class));
29         assertTrue(wasCalled);
30     }
31
32     public void testIntroduce() {
33         ClassAspect classAspect = new ClassAspect(Interface.class);
34         classAspect.addAspect(new Aspect() {
35             public void introduce(AspectInstance aspectInstance) {
36                 wasCalled = true;
37             }
38
39             public void advise(AspectInstance aspectInstance) {
40             }
41         });
42
43         assertFalse(wasCalled);
44         classAspect.newInstance(OtherInterface.class);
45         assertFalse(wasCalled);
46         classAspect.newInstance(Interface.class);
47         assertTrue(wasCalled);
48     }
49
50
51 }
52
Popular Tags