X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FDefaultContainerTest.java;h=a3709c9553a1262a572c79e55325e200357573a1;hb=49ce7cb8387601982d5e6ef186ce206d38f6e3d7;hp=07143e3eeee14371cf7f5f31ff3e7aade2c288fc;hpb=b2c41b5ad0368ce28715001b6a06381b9eaf7c49;p=utils diff --git a/system/general/src/test/java/org/wamblee/system/adapters/DefaultContainerTest.java b/system/general/src/test/java/org/wamblee/system/adapters/DefaultContainerTest.java index 07143e3e..a3709c95 100644 --- a/system/general/src/test/java/org/wamblee/system/adapters/DefaultContainerTest.java +++ b/system/general/src/test/java/org/wamblee/system/adapters/DefaultContainerTest.java @@ -1,5 +1,5 @@ /* - * 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. @@ -16,57 +16,77 @@ package org.wamblee.system.adapters; import org.wamblee.system.core.Scope; + import org.wamblee.test.AssertionUtils; +/** + * + * @author $author$ + * @version $Revision$ + */ public class DefaultContainerTest extends AdapterTestCase { - public void testConstructorInjection() { ClassConfiguration x1Config = new ClassConfiguration(X1.class); x1Config.getConstructorConfig().getParameters().setValue(0, "hello"); + x1Config.getObjectConfig().getSetterConfig().initAllSetters(); + + ClassConfiguration x4Config = new ClassConfiguration(X4.class); + x4Config.getObjectConfig().getSetterConfig().initAllSetters(); DefaultContainer container = new DefaultContainer("top").addComponent( - "x1", x1Config).addComponent("x4", X4.class); + "x1", x1Config).addComponent("x4", x4Config); Scope scope = container.start(); AssertionUtils.assertEquals(new String[] { "x1(hello)", "x4(x1)" }, - EVENT_TRACKER.getEvents(Thread.currentThread()).toArray()); + getEventTracker().getEvents(Thread.currentThread()).toArray()); Object obj = scope.getRuntime("x1"); assertTrue(obj instanceof X1); obj = scope.getRuntime("x4"); assertTrue(obj instanceof X4); } - + public void testConstructorInjectionAndSetterInjection() { ClassConfiguration x1Config = new ClassConfiguration(X1.class); x1Config.getConstructorConfig().getParameters().setValue(0, "hello"); - - X8 x8 = new X8(null); - EVENT_TRACKER.clear(); + x1Config.getObjectConfig().getSetterConfig().initAllSetters(); + + X8 x8 = new X8(null); + getEventTracker().clear(); + + ClassConfiguration x4Config = new ClassConfiguration(X4.class); + x4Config.getObjectConfig().getSetterConfig().initAllSetters(); + + ObjectConfiguration x8Config = new ObjectConfiguration(X8.class); + x8Config.getSetterConfig().initAllSetters(); DefaultContainer container = new DefaultContainer("top").addComponent( - "x1", x1Config).addComponent("x4", X4.class).addComponent("x8", x8); + "x1", x1Config).addComponent("x4", x4Config).addComponent("x8", x8, + x8Config); Scope scope = container.start(); AssertionUtils.assertEquals(new String[] { "x1(hello)", "x4(x1)", - "x8.setX4(x4)"}, - EVENT_TRACKER.getEvents(Thread.currentThread()).toArray()); + "x8.setX4(x4)" }, getEventTracker().getEvents( + Thread.currentThread()).toArray()); Object obj1 = scope.getRuntime("x1"); assertTrue(obj1 instanceof X1); + Object obj4 = scope.getRuntime("x4"); assertTrue(obj4 instanceof X4); + Object obj8 = scope.getRuntime("x8"); assertSame(x8, obj8); assertSame(obj4, x8.getX4()); } - - public void testWrongObjectType() { + + public void testWrongObjectType() { final DefaultContainer container = new DefaultContainer("top"); AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { @Override public void run() throws Exception { - container.addComponent("x", "y", new ObjectConfiguration(Integer.class)); + container.addComponent("x", "y", new ObjectConfiguration( + Integer.class)); } }, IllegalArgumentException.class); }