[picocontainer-scm] [5577] java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors: better testing, back to private inner class
paul-yCVjj/[email protected]
| Newsgroups | gmane.comp.java.picocontainer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision 5577
Author paul
Date 2010-02-04 23:11:38 -0600 (Thu, 04 Feb 2010)
Log Message
better testing, back to private inner class
Modified Paths
- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjectionFactory.java
- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/LifecycleAdapterTestCase.java
Diff
Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjectionFactory.java (5576 => 5577)
--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjectionFactory.java 2010-02-05 04:49:44 UTC (rev 5576)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjectionFactory.java 2010-02-05 05:11:38 UTC (rev 5577)
@@ -25,7 +25,7 @@
}
}
- public static class LifecycleAdapter implements ComponentAdapter, LifecycleStrategy, ComponentMonitorStrategy, Serializable {
+ private static class LifecycleAdapter implements ComponentAdapter, LifecycleStrategy, ComponentMonitorStrategy, Serializable {
private final Injector injector;
private final LifecycleStrategy lifecycleStrategy;
Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/LifecycleAdapterTestCase.java (5576 => 5577)
--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/LifecycleAdapterTestCase.java 2010-02-05 04:49:44 UTC (rev 5576)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/LifecycleAdapterTestCase.java 2010-02-05 05:11:38 UTC (rev 5577)
@@ -1,8 +1,7 @@
package org.picocontainer.injectors;
import org.junit.Test;
-import org.picocontainer.ComponentMonitorStrategy;
-import org.picocontainer.Parameter;
+import org.picocontainer.*;
import org.picocontainer.monitors.NullComponentMonitor;
import org.picocontainer.monitors.WriterComponentMonitor;
import org.picocontainer.tck.AbstractComponentAdapterTest;
@@ -11,6 +10,7 @@
import org.picocontainer.testmodel.Touchable;
import java.io.PrintWriter;
+import java.util.Properties;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -18,28 +18,43 @@
public class LifecycleAdapterTestCase {
private final ConstructorInjector INJECTOR = new ConstructorInjector(
- NullLifecycle.class, NullLifecycle.class, new Parameter[0],
+ Foo.class, Foo.class, new Parameter[0],
new NullComponentMonitor(), false);
private AbstractComponentAdapterTest.RecordingLifecycleStrategy strategy = new AbstractComponentAdapterTest.RecordingLifecycleStrategy(new StringBuffer());
+ AbstractInjectionFactory ais = new AbstractInjectionFactory() {
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException {
+ return wrapLifeCycle(INJECTOR, lifecycleStrategy);
+ }
+ };
+
@Test
public void passesOnLifecycleOperations() {
- AbstractInjectionFactory.LifecycleAdapter la = new AbstractInjectionFactory.LifecycleAdapter(INJECTOR, strategy);
+
+ LifecycleStrategy adapter = (LifecycleStrategy) ais.createComponentAdapter(new NullComponentMonitor(), strategy, new Properties(), null, null, new Parameter[0]);
+ assertEquals("org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter", adapter.getClass().getName());
Touchable touchable = new SimpleTouchable();
- la.start(touchable);
- la.stop(touchable);
- la.dispose(touchable);
+ adapter.start(touchable);
+ adapter.stop(touchable);
+ adapter.dispose(touchable);
assertEquals("<start<stop<dispose", strategy.recording());
}
@Test
public void canHaveMonitorChanged() {
- AbstractComponentAdapterTest.RecordingLifecycleStrategy strategy = new AbstractComponentAdapterTest.RecordingLifecycleStrategy(new StringBuffer());
- ComponentMonitorStrategy cms = new AbstractInjectionFactory.LifecycleAdapter(INJECTOR, strategy);
- assertTrue(cms.currentMonitor() instanceof NullComponentMonitor);
- cms.changeMonitor(new WriterComponentMonitor(new PrintWriter(System.out)));
- assertTrue(cms.currentMonitor() instanceof WriterComponentMonitor);
+ ComponentMonitorStrategy adapter = (ComponentMonitorStrategy) ais.createComponentAdapter(new NullComponentMonitor(), strategy, new Properties(), Foo.class, Foo.class, new Parameter[0]);
+ assertTrue(adapter.currentMonitor() instanceof NullComponentMonitor);
+ adapter.changeMonitor(new WriterComponentMonitor(new PrintWriter(System.out)));
+ assertTrue(adapter.currentMonitor() instanceof WriterComponentMonitor);
}
+
+ public static class Foo implements Startable {
+ public void start() {
+ }
+ public void stop() {
+ }
+ }
+
}
----------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email