X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2FSystemAssemblerTest.java;h=c372bf045b13c236f7923c25f6afd4525ee02dae;hb=0af4854898104bd6322c0f22feb6dc285859f420;hp=ab8bae6902debd4b49c16554c57345166f9f19fd;hpb=2a885e74d3f518def3887df98920f632177ed0b9;p=utils diff --git a/system/general/src/test/java/org/wamblee/system/SystemAssemblerTest.java b/system/general/src/test/java/org/wamblee/system/SystemAssemblerTest.java index ab8bae69..c372bf04 100644 --- a/system/general/src/test/java/org/wamblee/system/SystemAssemblerTest.java +++ b/system/general/src/test/java/org/wamblee/system/SystemAssemblerTest.java @@ -27,46 +27,47 @@ public class SystemAssemblerTest extends TestCase { } public void testFilterProvided() { - RequiredInterfaceDescriptor req1 = new DefaultRequiredInterfaceDescriptor( + RequiredInterface req1 = new DefaultRequiredInterfaceDescriptor( "name", Runnable.class); - RequiredInterfaceDescriptor req2 = new DefaultRequiredInterfaceDescriptor( + RequiredInterface req2 = new DefaultRequiredInterfaceDescriptor( "name", Serializable.class); - ProvidedInterfaceDescriptor prov1 = new DefaultProvidedInterfaceDescriptor( + ProvidedInterface prov1 = new DefaultProvidedInterfaceDescriptor( "name", Runnable.class); - ProvidedInterfaceDescriptor prov2 = new DefaultProvidedInterfaceDescriptor( + ProvidedInterface prov2 = new DefaultProvidedInterfaceDescriptor( "name", Serializable.class); - ProvidedInterfaceDescriptor prov3 = new DefaultProvidedInterfaceDescriptor( + ProvidedInterface prov3 = new DefaultProvidedInterfaceDescriptor( "name", MyMultiple.class); - AssertionUtils.assertEquals(new RequiredInterfaceDescriptor[] { req1 }, + AssertionUtils.assertEquals(new RequiredInterface[] { req1 }, SystemAssembler.filterRequiredServices(prov1, Arrays - .asList(new RequiredInterfaceDescriptor[] { req1 }))); - AssertionUtils.assertEquals(new RequiredInterfaceDescriptor[] { req1 }, - SystemAssembler - .filterRequiredServices(prov1, Arrays - .asList(new RequiredInterfaceDescriptor[] { req1, - req2 }))); - AssertionUtils.assertEquals(new RequiredInterfaceDescriptor[] { req1, + .asList(new RequiredInterface[] { req1 }))); + AssertionUtils.assertEquals(new RequiredInterface[] { req1 }, + SystemAssembler.filterRequiredServices(prov1, + Arrays.asList(new RequiredInterface[] { req1, + req2 }))); + AssertionUtils.assertEquals(new RequiredInterface[] { req1, req2 }, SystemAssembler.filterRequiredServices(prov3, Arrays - .asList(new RequiredInterfaceDescriptor[] { req1, req2 }))); + .asList(new RequiredInterface[] { req1, req2 }))); - AssertionUtils.assertEquals(new ProvidedInterfaceDescriptor[] { prov1 }, + AssertionUtils.assertEquals( + new ProvidedInterface[] { prov1 }, SystemAssembler.filterProvidedServices(req1, Arrays - .asList(new ProvidedInterfaceDescriptor[] { prov1 }))); - AssertionUtils.assertEquals(new ProvidedInterfaceDescriptor[] { prov1 }, - SystemAssembler.filterProvidedServices(req1, - Arrays.asList(new ProvidedInterfaceDescriptor[] { prov1, - prov2 }))); - AssertionUtils.assertEquals(new ProvidedInterfaceDescriptor[] { prov1, + .asList(new ProvidedInterface[] { prov1 }))); + AssertionUtils.assertEquals( + new ProvidedInterface[] { prov1 }, SystemAssembler + .filterProvidedServices(req1, Arrays + .asList(new ProvidedInterface[] { + prov1, prov2 }))); + AssertionUtils.assertEquals(new ProvidedInterface[] { prov1, prov3 }, SystemAssembler.filterProvidedServices(req1, Arrays - .asList(new ProvidedInterfaceDescriptor[] { prov1, prov3 }))); + .asList(new ProvidedInterface[] { prov1, prov3 }))); } public void testEnvironmentApplication() { Component environment = new Environment(_registry); Component application = new Application(_registry); SystemAssembler assembler = new SystemAssembler(new Component[] { - environment, application }, new ProvidedInterfaceDescriptor[0]); + environment, application }, new ProvidedInterface[0]); assembler.start(_registry, new Service[0]); Service[] envServices = environment.getRunningServices(); assertEquals(2, envServices.length); @@ -87,7 +88,7 @@ public class SystemAssemblerTest extends TestCase { Component application = new Application(_registry); SystemAssembler assembler = new SystemAssembler(new Component[] { application, environment }, - new ProvidedInterfaceDescriptor[0]); + new ProvidedInterface[0]); assembler.start(_registry, new Service[0]); } catch (SystemAssemblyException e) { // e.printStackTrace(); @@ -101,19 +102,19 @@ public class SystemAssemblerTest extends TestCase { Component application = new Application(_registry); assertEquals(Status.NOT_STARTED, environment.getStatus()); assertEquals(Status.NOT_STARTED, application.getStatus()); - CompositeComponent system = new CompositeComponent("all", _registry, - new Component[] { environment, application }, - new InterfaceDescriptor[0], new InterfaceDescriptor[0]); + Container system = new Container("all", _registry, new Component[] { + environment, application }, new ProvidedInterface[0], + new RequiredInterface[0]); assertEquals(Status.NOT_STARTED, system.getStatus()); system.start("root", new Service[0]); - InterfaceDescriptor[] required = system.getRequiredServices(); + RequiredInterface[] required = system.getRequiredServices(); assertEquals(0, required.length); - InterfaceDescriptor[] provided = system.getProvidedServices(); + ProvidedInterface[] provided = system.getProvidedServices(); assertEquals(0, provided.length); assertEquals(Status.RUNNING, environment.getStatus()); assertEquals(Status.RUNNING, application.getStatus()); assertEquals(Status.RUNNING, system.getStatus()); - + system.stop(); assertEquals(Status.STOPPED, environment.getStatus()); assertEquals(Status.STOPPED, application.getStatus()); @@ -124,11 +125,11 @@ public class SystemAssemblerTest extends TestCase { try { Component environment = new Environment(_registry); Component application = new Application(_registry); - CompositeComponent system = new CompositeComponent( + Container system = new Container( "all", _registry, new Component[] { environment, application }, - new InterfaceDescriptor[] { new DefaultProvidedInterfaceDescriptor( + new ProvidedInterface[] { new DefaultProvidedInterfaceDescriptor( "string", String.class) }, new DefaultRequiredInterfaceDescriptor[0]); } catch (SystemAssemblyException e) { @@ -140,15 +141,17 @@ public class SystemAssemblerTest extends TestCase { public void testCompositeWithSuperfluousRequiredInfo() { Component environment = new Environment(_registry); Component application = new Application(_registry); - CompositeComponent system = new CompositeComponent("all", _registry, + Container system = new Container( + "all", + _registry, new Component[] { environment, application }, - new InterfaceDescriptor[0], - new InterfaceDescriptor[] { new DefaultRequiredInterfaceDescriptor( + new ProvidedInterface[0], + new RequiredInterface[] { new DefaultRequiredInterfaceDescriptor( "string", String.class) }); system.start("root", new Service[0]); - InterfaceDescriptor[] required = system.getRequiredServices(); + RequiredInterface[] required = system.getRequiredServices(); assertEquals(1, required.length); - InterfaceDescriptor[] provided = system.getProvidedServices(); + ProvidedInterface[] provided = system.getProvidedServices(); assertEquals(0, provided.length); } @@ -156,9 +159,10 @@ public class SystemAssemblerTest extends TestCase { try { Component environment = new Environment(_registry); Component application = new Application(_registry); - CompositeComponent system = new CompositeComponent("all", _registry, - new Component[] { application }, new InterfaceDescriptor[0], - application.getRequiredServices()); + Container system = new Container("all", _registry, + new Component[] { application }, + new ProvidedInterface[0], application + .getRequiredServices()); system.start("root", new Service[0]); } catch (SystemAssemblyException e) { return; @@ -171,14 +175,15 @@ public class SystemAssemblerTest extends TestCase { Component environment = new Environment(_registry); Component application = new Application(_registry); - CompositeComponent system = new CompositeComponent("all", _registry, - new Component[] { application }, new InterfaceDescriptor[0], - application.getRequiredServices()); + Container system = new Container("all", _registry, + new Component[] { application }, + new ProvidedInterface[0], application + .getRequiredServices()); Service[] envServices = environment.start("env", new Service[0]); system.start("root", envServices); - InterfaceDescriptor[] required = system.getRequiredServices(); + RequiredInterface[] required = system.getRequiredServices(); assertEquals(2, required.length); - InterfaceDescriptor[] provided = system.getProvidedServices(); + ProvidedInterface[] provided = system.getProvidedServices(); assertEquals(0, provided.length); } @@ -190,14 +195,27 @@ public class SystemAssemblerTest extends TestCase { Component application = new Application(_registry); SystemAssembler assembler = new SystemAssembler(new Component[] { environment1, environment2, application }, - new ProvidedInterfaceDescriptor[0]); + new ProvidedInterface[0]); assembler.start(_registry, new Service[0]); - + + } catch (SystemAssemblyException e) { + return; + } + fail(); + } + + public void testIncompleteRequirements() { + try { + Component application = new Application(_registry); + Container system = new Container("all", _registry, + new Component[] { application }, + new ProvidedInterface[0], + new RequiredInterface[0]); + system.start("root", new Service[0]); } catch (SystemAssemblyException e) { return; } fail(); } - }