X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FAbstractComponentTest.java;h=ccd0052daef50f093592f806b2241afbf54552bd;hb=8de36ff0206c996baf3ee4adc3e2293b12ff5f39;hp=e65433bef09a70cfb8c93c34b52b05873fc25e6c;hpb=f4339a7cebbb66b82ce601a146e4c7defe574cb2;p=utils diff --git a/system/general/src/test/java/org/wamblee/system/core/AbstractComponentTest.java b/system/general/src/test/java/org/wamblee/system/core/AbstractComponentTest.java index e65433be..ccd0052d 100644 --- a/system/general/src/test/java/org/wamblee/system/core/AbstractComponentTest.java +++ b/system/general/src/test/java/org/wamblee/system/core/AbstractComponentTest.java @@ -1,12 +1,12 @@ /* * Copyright 2008 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. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,27 +17,64 @@ package org.wamblee.system.core; import junit.framework.TestCase; +/** + * + * @author $author$ + * @version $Revision$ + */ public class AbstractComponentTest extends TestCase { + public void testNotAllInterfacesStarted() { + try { + Component component = new AbstractComponent("xx", + new ProvidedInterface[] { new DefaultProvidedInterface("xxx", + String.class) }, new RequiredInterface[0]) { + @Override + protected Object doStart(Scope aScope) { + // Empty, not starting service. + return null; + } + + @Override + protected void doStop(Object aRuntime) { + // Empty. + } + }; + + component + .start(new DefaultScope(component.getProvidedInterfaces())); + } catch (SystemAssemblyException e) { + // e.printStackTrace(); + return; + } + + fail(); + } + + public void testUnexpectedServicesStarted() { + try { + Component component = new AbstractComponent("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; + } - public void testNotAllComponentsStarted() { - try { - Component component = new AbstractComponent("xx", - new ProvidedInterface[] { new DefaultProvidedInterface( - "xxx", String.class) }, new RequiredInterface[0]) { - @Override - protected void doStart() { - // Empty, not starting service. - } - - @Override - protected void doStop() { - // Empty. - } - }; - component.start(); - } catch (SystemAssemblyException e) { - return; - } - fail(); - } + fail(); + } }