+
+ /**
+ * DOCUMENT ME!
+ */
+ public void testNonUniqueProvidedInterfaceWrongNames() {
+ final Container container = new Container("top").addProvidedInterface(new DefaultProvidedInterface(
+ "external", String.class));
+ final Environment env1 = new Environment("env1");
+ final Environment env2 = new Environment("env2");
+
+ container.addComponent(env1);
+ container.addComponent(env2);
+
+ // Wrong external provided interface name
+ AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
+ @Override
+ public void run() throws Exception {
+ container.connectExternalProvided(container.getProvidedInterfaces()
+ .get(0).getName() + "xx", "env1",
+ env1.getProvidedInterfaces().get(0).getName());
+ }
+ }, SystemAssemblyException.class);
+
+ // Wrong provided interface name.
+ AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
+ @Override
+ public void run() throws Exception {
+ container.connectExternalProvided(container.getProvidedInterfaces()
+ .get(0).getName(), "env1",
+ env1.getProvidedInterfaces().get(0).getName() + "xx");
+ }
+ }, SystemAssemblyException.class);
+
+ // Wrong provided component
+ AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
+ @Override
+ public void run() throws Exception {
+ container.connectExternalProvided(container.getProvidedInterfaces()
+ .get(0).getName(), "env3",
+ env1.getProvidedInterfaces().get(0).getName());
+ }
+ }, SystemAssemblyException.class);
+ }
+
+ private static class MyMultiple implements Serializable, Runnable {
+ @Override
+ public void run() {
+ // Empty
+ }
+ }