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 |