X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FApplication.java;h=07857aee2b7510fa05e87a056676b805b360ace8;hb=dea786c9d49228a37cb5fd5b4113b86d9f6cddbf;hp=16d1f36f0187b273810ae010dfaa8f77fb994b1c;hpb=971e905b3afccdf5b17e9303cee353a33a6db030;p=utils diff --git a/system/general/src/test/java/org/wamblee/system/core/Application.java b/system/general/src/test/java/org/wamblee/system/core/Application.java index 16d1f36f..07857aee 100644 --- a/system/general/src/test/java/org/wamblee/system/core/Application.java +++ b/system/general/src/test/java/org/wamblee/system/core/Application.java @@ -27,15 +27,19 @@ public class Application extends AbstractComponent { public static RequiredInterface[] required(boolean aOptional) { return new RequiredInterface[] { - new DefaultRequiredInterface("datasource", DataSource.class, aOptional), + new DefaultRequiredInterface("string", String.class, aOptional), new DefaultRequiredInterface("integer", Integer.class, aOptional) }; } private EventTracker _tracker; + private String _string; + private Integer _integer; + private double _random; public Application() { - super("application", new ProvidedInterface[0], required(false)); + super("application", new ProvidedInterface[0], required(false)); + _random = Math.random(); } public Application(boolean aIsOptinal) { @@ -48,13 +52,28 @@ public class Application extends AbstractComponent { } @Override - protected void doStart() { - track("start." + getName()); + protected Object doStart(Scope aScope) { + track("start." + getName()); + _string = aScope.retrieveInterfaceImplementation(getRequiredInterfaces()[0].getProvider(), String.class); + _integer = aScope.retrieveInterfaceImplementation(getRequiredInterfaces()[1].getProvider(), Integer.class); + return _random; + } + + public String getString() { + return _string; + } + + public Integer getInteger() { + return _integer; } @Override - protected void doStop() { - track("stop." + getName()); + protected void doStop(Object aRuntime) { + track("stop." + getName()); + if ( _random != (Double)aRuntime) { + throw new IllegalArgumentException("Wrong runtime: expected " + _random + " but got " + + aRuntime); + } } private void track(String aString) {