1 25 26 package org.snipsnap.test.components; 27 28 import junit.framework.Test; 29 import junit.framework.TestCase; 30 import junit.framework.TestSuite; 31 import org.codehaus.nanning.Aspects; 32 import org.codehaus.nanning.config.AspectSystem; 33 import org.nanocontainer.nanning.NanningComponentAdapterFactory; 34 import org.picocontainer.defaults.DefaultComponentAdapterFactory; 35 import org.picocontainer.defaults.DefaultPicoContainer; 36 import org.snipsnap.interceptor.custom.MissingSnipAspect; 37 import org.snipsnap.snip.SnipSpace; 38 import org.snipsnap.test.mock.MockSnipSpace; 39 40 public class NanningPicoTest extends TestCase { 41 public NanningPicoTest(String name) { 42 super(name); 43 } 44 45 protected void setUp() throws Exception { 46 } 47 48 public static Test suite() { 49 return new TestSuite(NanningPicoTest.class); 50 } 51 52 public void testSnipSpaceIsAdviced() { 53 DefaultPicoContainer nc = new DefaultPicoContainer( 54 new NanningComponentAdapterFactory( 55 new AspectSystem(), 56 new DefaultComponentAdapterFactory())); 57 58 try { 59 60 nc.registerComponentImplementation(SnipSpace.class, MockSnipSpace.class); 61 nc.registerComponentInstance(new MissingSnipAspect()); 62 63 } catch (Exception e) { 64 e.printStackTrace(); } 66 67 SnipSpace space = (SnipSpace) nc.getComponentInstance(SnipSpace.class); 68 69 assertNotNull("SnipSpace is not null from Components", space); 70 assertTrue("SnipSpace is aspected", Aspects.isAspectObject(space)); 71 } 72 } 73 | Popular Tags |