/*
- * Copyright 2008 the original author or authors.
+ * Copyright 2005-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- */
+ */
package org.wamblee.system.adapters;
-import java.util.Collections;
-import java.util.List;
-
+import org.wamblee.system.container.Container;
import org.wamblee.system.core.Component;
-import org.wamblee.system.core.Container;
-import org.wamblee.system.core.DefaultProvidedInterface;
import org.wamblee.system.core.ProvidedInterface;
import org.wamblee.system.core.RequiredInterface;
-import org.wamblee.system.core.RequiredInterfaceComparator;
import org.wamblee.system.core.Scope;
import org.wamblee.test.AssertionUtils;
+/**
+ *
+ * @author $author$
+ * @version $Revision$
+ */
public class ObjectAdapterTest extends AdapterTestCase {
+ public void testSetterInjection() {
+ ClassConfiguration x1Config = new ClassConfiguration(X1.class);
+ x1Config.getObjectConfig().getSetterConfig().initAllSetters();
+ x1Config.getConstructorConfig().getParameters().setValue(0, "hello");
- public void testSetterInjection() {
-
- ClassConfiguration x1Config = new ClassConfiguration(X1.class);
- x1Config.getConstructorConfig().getParameters().setValue(0, "hello");
-
ClassConfiguration x4Config = new ClassConfiguration(X4.class);
- SetterConfiguration x8Config = new SetterConfiguration(X8.class);
-
- X1 x1 = new X1();
+ x4Config.getObjectConfig().getSetterConfig().initAllSetters();
+
+ ObjectConfiguration x8Config = new ObjectConfiguration(X8.class);
+ x8Config.getSetterConfig().initAllSetters();
+
+ X1 x1 = new X1();
X8 x8 = new X8(x1);
-
+
ClassAdapter x1Adapter = new ClassAdapter("x1", x1Config);
ClassAdapter x4Adapter = new ClassAdapter("x4", x4Config);
ObjectAdapter x8Adapter = new ObjectAdapter("x8", x8, x8Config);
-
- Container container = new Container("top", new Component[] {
- x1Adapter, x4Adapter, x8Adapter
- }, new ProvidedInterface[0], new RequiredInterface[0]);
-
- EVENT_TRACKER.clear();
+
+ Container container = new Container("top", new Component[] { x1Adapter,
+ x4Adapter, x8Adapter }, new ProvidedInterface[0],
+ new RequiredInterface[0]);
+
+ getEventTracker().clear();
+
Scope scope = container.start();
- AssertionUtils.assertEquals(new String[] { "x1(hello)", "x4(x1)", "x8.setX4(x4)" },
- EVENT_TRACKER.getEvents(Thread.currentThread()).toArray());
-
+ AssertionUtils.assertEquals(new String[] { "x1(hello)", "x4(x1)",
+ "x8.setX4(x4)" }, getEventTracker().getEvents(
+ Thread.currentThread()).toArray());
+
Object obj1 = scope.getRuntime(x1Adapter);
- assertTrue(obj1 instanceof X1);
+ assertTrue(obj1 instanceof X1);
+
Object obj4 = scope.getRuntime(x4Adapter);
assertTrue(obj4 instanceof X4);
+
Object obj8 = scope.getRuntime(x8Adapter);
assertSame(x8, obj8);
-
+
X4 x4 = (X4) obj4;
-
-
+
assertSame(x4, x8.getX4());
assertSame(x1, x8.getX1());
- }
+ }
}