public class AbstractComponentTest extends TestCase {
- public void testNotAllComponentsStarted() {
+ public void testNotAllInterfacesStarted() {
try {
- Component component = new AbstractComponent("xx",
+ Component<?> component = new AbstractComponent<Object>("xx",
new ProvidedInterface[] { new DefaultProvidedInterface(
"xxx", String.class) }, new RequiredInterface[0]) {
@Override
- protected void doStart() {
+ protected Object doStart(Scope aScope) {
// Empty, not starting service.
+ return null;
}
@Override
- protected void doStop() {
+ protected void doStop(Object aRuntime) {
// Empty.
}
};
- component.start();
+ component.start(new DefaultScope(component.getProvidedInterfaces()));
} catch (SystemAssemblyException e) {
+ //e.printStackTrace();
return;
}
fail();
}
+
+ public void testUnexpectedServicesStarted() {
+ try {
+ Component<?> component = new AbstractComponent<Object>("xx",
+ new ProvidedInterface[0], new RequiredInterface[0]) {
+ @Override
+ protected Object doStart(Scope aScope) {
+ addInterface(new DefaultProvidedInterface("x", Integer.class), 100, aScope);
+ return null;
+ }
+
+ @Override
+ protected void doStop(Object aRuntime) {
+ // Empty.
+ }
+ };
+ component.start(new DefaultScope(component.getProvidedInterfaces()));
+ } catch (SystemAssemblyException e) {
+ //e.printStackTrace();
+ return;
+ }
+ fail();
+ }
}