}
public void testEnvironmentApplication() {
- Component environment = new Environment(_tracker);
- Component application = new Application(_tracker);
+ Environment environment = new Environment(_tracker);
+ Application application = new Application(_tracker);
Container container = new Container("root", new Component[] {
environment, application }, new ProvidedInterface[0],
new RequiredInterface[0]);
assertEquals(2, envServices.length);
ProvidedInterface[] appServices = application.getRunningInterfaces();
assertEquals(0, appServices.length);
+
+ assertEquals(environment.getString(), application.getString());
+ assertEquals(environment.getInteger(), application.getInteger());
}
Container system = new Container("all", new Component[] {
environment, application },
new ProvidedInterface[] { new DefaultProvidedInterface(
- "string", String.class) },
+ "float", Float.class) },
new DefaultRequiredInterface[0]);
} catch (SystemAssemblyException e) {
return;
Container system = new Container("all", new Component[] { environment,
application }, new ProvidedInterface[0],
new RequiredInterface[] { new DefaultRequiredInterface(
- "string", String.class) });
+ "float", Float.class) });
system.getRequiredInterfaces()[0]
- .setProvider(new DefaultProvidedInterface("hallo", String.class));
+ .setProvider(new DefaultProvidedInterface("hallo", Float.class));
system.start();
RequiredInterface[] required = system.getRequiredInterfaces();
assertEquals(1, required.length);
Thread.currentThread()).toArray(new String[0]));
ProvidedInterface[] envServices = environment.getRunningInterfaces();
assertEquals(0, envServices.length);
+ assertNull(environment.getProvidedInterfaces()[0].getImplementation());
+ assertNull(environment.getProvidedInterfaces()[0].getImplementation());
return;
}
fail();
Thread.currentThread()).toArray(new String[0]));
ProvidedInterface[] envServices = environment.getRunningInterfaces();
assertEquals(0, envServices.length);
+ assertNull(environment.getProvidedInterfaces()[0].getImplementation());
+ assertNull(environment.getProvidedInterfaces()[0].getImplementation());
return;
}
fail();
}
+
+ public void testOptionalRequiredInterfaceProvidedOptionalInternal() {
+ Application application = new Application(true);
+ Container container = new Container("top", new Component[] { application },
+ new ProvidedInterface[0], Application.required(true));
+ Environment env = new Environment();
+ container.getRequiredInterfaces()[0].setProvider(
+ env.getProvidedInterfaces()[0]);
+ container.getRequiredInterfaces()[1].setProvider(
+ env.getProvidedInterfaces()[1]);
+ container.start();
+ assertSame(env.getProvidedInterfaces()[0], container.getRequiredInterfaces()[0].getProvider());
+ assertSame(env.getProvidedInterfaces()[1], container.getRequiredInterfaces()[1].getProvider());
+ assertSame(env.getProvidedInterfaces()[0], application.getRequiredInterfaces()[0].getProvider());
+ assertSame(env.getProvidedInterfaces()[1], application.getRequiredInterfaces()[1].getProvider());
+ }
+
+ public void testOptionalRequiredInterfaceNotProvidedOptionalInternal() {
+ Application application = new Application(true);
+ Container container = new Container("top", new Component[] { application },
+ new ProvidedInterface[0], Application.required(true));
+ Environment env = new Environment();
+ container.getRequiredInterfaces()[0].setProvider(
+ env.getProvidedInterfaces()[0]);
+ container.start();
+ assertSame(env.getProvidedInterfaces()[0], container.getRequiredInterfaces()[0].getProvider());
+ assertNull(container.getRequiredInterfaces()[1].getProvider());
+ assertSame(env.getProvidedInterfaces()[0], application.getRequiredInterfaces()[0].getProvider());
+ assertNull(application.getRequiredInterfaces()[1].getProvider());
+ }
+
+ public void testOptionalRequiredInterfaceProvidedMandatoryInternal() {
+ Application application = new Application();
+ Container container = new Container("top", new Component[] { application },
+ new ProvidedInterface[0], Application.required(true));
+ Environment env = new Environment();
+ container.getRequiredInterfaces()[0].setProvider(
+ env.getProvidedInterfaces()[0]);
+ container.getRequiredInterfaces()[1].setProvider(
+ env.getProvidedInterfaces()[1]);
+ container.start();
+ assertSame(env.getProvidedInterfaces()[0], container.getRequiredInterfaces()[0].getProvider());
+ assertSame(env.getProvidedInterfaces()[1], container.getRequiredInterfaces()[1].getProvider());
+ assertSame(env.getProvidedInterfaces()[0], application.getRequiredInterfaces()[0].getProvider());
+ assertSame(env.getProvidedInterfaces()[1], application.getRequiredInterfaces()[1].getProvider());
+ }
}