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=ca1467cc0fd4afde4ff9327bfcff49668b91035e;hpb=e73828b054b0734ddce0ff9194fca75ed3c98b7a;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 ca1467cc..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 @@ -34,10 +34,12 @@ public class Application extends AbstractComponent { private EventTracker _tracker; private String _string; - private Integer _integer; + 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) { @@ -50,10 +52,11 @@ public class Application extends AbstractComponent { } @Override - protected void doStart() { + protected Object doStart(Scope aScope) { track("start." + getName()); - _string = getRequiredInterfaces()[0].getImplementation(String.class); - _integer = getRequiredInterfaces()[1].getImplementation(Integer.class); + _string = aScope.retrieveInterfaceImplementation(getRequiredInterfaces()[0].getProvider(), String.class); + _integer = aScope.retrieveInterfaceImplementation(getRequiredInterfaces()[1].getProvider(), Integer.class); + return _random; } public String getString() { @@ -65,8 +68,12 @@ public class Application extends AbstractComponent { } @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) {