From: Erik Brakkee Date: Sun, 8 Jun 2008 11:29:31 +0000 (+0000) Subject: (no commit message) X-Git-Tag: wamblee-utils-0.7~682 X-Git-Url: http://wamblee.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=b01edf1b85062b9e19e27869b76c1891fa28b810;hp=b8c91461116e84e47d5a9aa5047d8babfc8dfa03;p=utils --- diff --git a/system/general/pom.xml b/system/general/pom.xml index a08f0844..f43d1650 100644 --- a/system/general/pom.xml +++ b/system/general/pom.xml @@ -1,6 +1,5 @@ - + + org.wamblee @@ -32,4 +31,4 @@ - + \ No newline at end of file diff --git a/system/general/src/test/java/org/wamblee/system/container/ContainerTest.java b/system/general/src/test/java/org/wamblee/system/container/ContainerTest.java index 7aed9f6b..41ccede4 100644 --- a/system/general/src/test/java/org/wamblee/system/container/ContainerTest.java +++ b/system/general/src/test/java/org/wamblee/system/container/ContainerTest.java @@ -463,8 +463,70 @@ public class ContainerTest extends TestCase { container.connectRequiredProvided("app", null, "env1", null); container.start(); assertEquals(env1.getString(), app.getString()); + assertEquals(env1.getInteger(), app.getInteger()); assertFalse(env2.getString().equals(app.getString())); + assertFalse(env2.getInteger().equals(app.getInteger())); } + + public void testRestrictionWithFromAndToInterfaceName() { + Environment env1 = new Environment("env1"); + Environment env2 = new Environment("env2"); + Application app = new Application("app"); + Container container = new Container("top").addComponent(env1) + .addComponent(env2).addComponent(app); + container.connectRequiredProvided("app", app.getRequiredInterfaces().get(0).getName(), + "env1", env1.getProvidedInterfaces().get(0).getName()); + container.connectRequiredProvided("app", app.getRequiredInterfaces().get(1).getName(), + "env2", env2.getProvidedInterfaces().get(1).getName()); + container.start(); + assertEquals(env1.getString(), app.getString()); + assertEquals(env2.getInteger(), app.getInteger()); + assertFalse(env2.getString().equals(app.getString())); + assertFalse(env1.getInteger().equals(app.getInteger())); + } + + public void testRestrictionWrongComponentNames() { + Environment env1 = new Environment("env1"); + Environment env2 = new Environment("env2"); + Application app = new Application("app"); + final Container container = new Container("top").addComponent(env1) + .addComponent(env2).addComponent(app); + AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { + @Override + public void run() throws Exception { + container.connectRequiredProvided("app2", null, "env1", null); + } + }, SystemAssemblyException.class); + AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { + @Override + public void run() throws Exception { + container.connectRequiredProvided("app", null, "env3", null); + } + }, SystemAssemblyException.class); + } + + public void testRestrictionWrongInterfaceNames() { + final Environment env1 = new Environment("env1"); + Environment env2 = new Environment("env2"); + final Application app = new Application("app"); + final Container container = new Container("top").addComponent(env1) + .addComponent(env2).addComponent(app); + AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { + @Override + public void run() throws Exception { + container.connectRequiredProvided("app", + app.getRequiredInterfaces().get(0).getName() + "xxx", "env1", null); + } + }, SystemAssemblyException.class); + AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { + @Override + public void run() throws Exception { + container.connectRequiredProvided("app", null, "env1", + env1.getProvidedInterfaces().get(0).getName() + "yyy"); + } + }, SystemAssemblyException.class); + } + public void testProvidedInDifferentScopes() { // Scoping problem occurred. Externally and internally provided diff --git a/system/general/src/test/java/org/wamblee/system/core/Environment.java b/system/general/src/test/java/org/wamblee/system/core/Environment.java index d2c05271..4b791d05 100644 --- a/system/general/src/test/java/org/wamblee/system/core/Environment.java +++ b/system/general/src/test/java/org/wamblee/system/core/Environment.java @@ -30,9 +30,12 @@ public class Environment extends AbstractComponent { new DefaultProvidedInterface(aPrefix + "datasource", String.class), new DefaultProvidedInterface(aPrefix + "integer", Integer.class) }; } + + private static int COUNT = 0; private EventTracker _tracker; private double _random; + private int _integer; public Environment() { this("environment"); @@ -45,6 +48,7 @@ public class Environment extends AbstractComponent { public Environment(String aName, String aPrefix) { super(aName, provided(aPrefix), new RequiredInterface[0]); _random = Math.random(); + _integer = COUNT++; } @@ -55,7 +59,7 @@ public class Environment extends AbstractComponent { } public Integer getInteger() { - return 2; + return _integer; } public String getString() {