1 22 package org.jboss.test.aop.instanceofintroduced; 23 24 import org.jboss.test.aop.AOPTestWithSetup; 25 26 import junit.framework.Test; 27 import junit.framework.TestSuite; 28 29 34 public class InstanceofIntroducedTestCase extends AOPTestWithSetup 35 { 36 public static Test suite() 37 { 38 TestSuite suite = new TestSuite("InstanceofIntroducedTestCase"); 39 suite.addTestSuite(InstanceofIntroducedTestCase.class); 40 return suite; 41 } 42 43 public InstanceofIntroducedTestCase(String name) 44 { 45 super(name); 47 } 48 49 public void testIntroduction() throws Exception 50 { 51 assertTrue(Interface.class.isAssignableFrom(POJO.class)); 52 assertTrue(MixinInterface.class.isAssignableFrom(POJO.class)); 53 } 54 55 public void testConstructorExecution() throws Exception 56 { 57 SimpleInterceptor.intercepted = false; 58 POJO pojo = new POJO(); 59 assertTrue(SimpleInterceptor.intercepted); 60 } 61 62 public void testConstructionExecution() throws Exception 63 { 64 SimpleInterceptor.intercepted = false; 65 POJO pojo = new POJO(5); 66 assertTrue(SimpleInterceptor.intercepted); 67 } 68 69 public void testMethodExecution() throws Exception 70 { 71 POJO pojo = new POJO(); 72 SimpleInterceptor.intercepted = false; 73 ReturningInterceptor.intercepted = false; 74 pojo.method(); 75 assertTrue(SimpleInterceptor.intercepted); 76 assertFalse(ReturningInterceptor.intercepted); 77 } 78 79 public void testFieldExecution() throws Exception 80 { 81 POJO pojo = new POJO(); 82 SimpleInterceptor.intercepted = false; 83 pojo.i = 5; 84 assertTrue(SimpleInterceptor.intercepted); 85 86 SimpleInterceptor.intercepted = false; 87 assertEquals(5, pojo.i); 88 assertTrue(SimpleInterceptor.intercepted); 89 } 90 91 public void testImplementsForIntroducedInterface() throws Exception 92 { 93 POJO pojo = new POJO(); 94 ReturningInterceptor.intercepted = false; 95 ((ImplementsInterface)pojo).testMethod(); 96 assertTrue(ReturningInterceptor.intercepted); 97 } 98 } 99 | Popular Tags |