X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FSetterConfigurationTest.java;h=ce0a8d89d76dd222d999245d09f2611bf9f05828;hb=0d8d8f24656e585ee75558cfd6a4c661f8f14985;hp=382beb36d4dbb01ca180d09a70e6b333f9a43164;hpb=2d7b0cb1921d9b37821f7d838ab070f5394a6fa4;p=utils diff --git a/system/general/src/test/java/org/wamblee/system/adapters/SetterConfigurationTest.java b/system/general/src/test/java/org/wamblee/system/adapters/SetterConfigurationTest.java index 382beb36..ce0a8d89 100644 --- a/system/general/src/test/java/org/wamblee/system/adapters/SetterConfigurationTest.java +++ b/system/general/src/test/java/org/wamblee/system/adapters/SetterConfigurationTest.java @@ -36,16 +36,16 @@ public class SetterConfigurationTest extends AdapterTestCase { config.initAllSetters(); List required = config.getRequiredInterfaces(); assertEquals(1, required.size()); - assertEquals("setValue", required.get(0).getName()); + assertEquals("setValue.0", required.get(0).getName()); ProvidedInterface provided = new DefaultProvidedInterface("janse", String.class); required.get(0).setProvider(provided); - _scope.publishInterface(provided, "hello"); + scope.publishInterface(provided, "hello"); X5 obj = new X5(); assertNull(obj.getValue()); - config.inject(_scope, obj); + config.inject(scope, obj); assertEquals("hello", obj.getValue()); } @@ -62,25 +62,25 @@ public class SetterConfigurationTest extends AdapterTestCase { } }); assertEquals(2, required.size()); - assertEquals("setValue", required.get(0).getName()); - assertEquals("setXyz", required.get(1).getName()); + assertEquals("setValue.0", required.get(0).getName()); + assertEquals("setXyz.0", required.get(1).getName()); ProvidedInterface providedString = new DefaultProvidedInterface( "janse", String.class); assertTrue(required.get(0).implementedBy(providedString)); required.get(0).setProvider(providedString); - _scope.publishInterface(providedString, "hello"); + scope.publishInterface(providedString, "hello"); ProvidedInterface providedInt = new DefaultProvidedInterface("xxx", Integer.class); assertTrue(required.get(1).implementedBy(providedInt)); required.get(1).setProvider(providedInt); - _scope.publishInterface(providedInt, 100); + scope.publishInterface(providedInt, 100); X5 obj = new X5(); assertNull(obj.getValue()); assertNull(obj.getXyz()); - config.inject(_scope, obj); + config.inject(scope, obj); assertEquals("hello", obj.getValue()); assertEquals(100, obj.getXyz().intValue()); } @@ -98,33 +98,33 @@ public class SetterConfigurationTest extends AdapterTestCase { } }); assertEquals(3, required.size()); - assertEquals("setFlag", required.get(0).getName()); - assertEquals("setValue", required.get(1).getName()); - assertEquals("setXyz", required.get(2).getName()); + assertEquals("setFlag.0", required.get(0).getName()); + assertEquals("setValue.0", required.get(1).getName()); + assertEquals("setXyz.0", required.get(2).getName()); ProvidedInterface providedBoolean = new DefaultProvidedInterface( "janse", Boolean.class); assertTrue(required.get(0).implementedBy(providedBoolean)); required.get(0).setProvider(providedBoolean); - _scope.publishInterface(providedBoolean, true); + scope.publishInterface(providedBoolean, true); ProvidedInterface providedString = new DefaultProvidedInterface( "janse", String.class); assertTrue(required.get(1).implementedBy(providedString)); required.get(1).setProvider(providedString); - _scope.publishInterface(providedString, "hello"); + scope.publishInterface(providedString, "hello"); ProvidedInterface providedInt = new DefaultProvidedInterface("xxx", Integer.class); assertTrue(required.get(2).implementedBy(providedInt)); required.get(2).setProvider(providedInt); - _scope.publishInterface(providedInt, 100); + scope.publishInterface(providedInt, 100); X9 obj = new X9(); assertNull(obj.getValue()); assertNull(obj.getXyz()); assertFalse(obj.isFlag()); - config.inject(_scope, obj); + config.inject(scope, obj); assertEquals("hello", obj.getValue()); assertEquals(100, obj.getXyz().intValue()); assertTrue(obj.isFlag()); @@ -135,24 +135,24 @@ public class SetterConfigurationTest extends AdapterTestCase { List required = config.getRequiredInterfaces(); Collections.sort(required, new RequiredInterfaceComparator()); assertEquals(2, required.size()); - assertEquals("setHost", required.get(0).getName()); - assertEquals("setPort", required.get(1).getName()); + assertEquals("setHost.0", required.get(0).getName()); + assertEquals("setPort.0", required.get(1).getName()); ProvidedInterface provided0 = new DefaultProvidedInterface("janse", String.class); required.get(0).setProvider(provided0); - _scope.publishInterface(provided0, "hello"); + scope.publishInterface(provided0, "hello"); ProvidedInterface provided1 = new DefaultProvidedInterface("port", Integer.class); required.get(1).setProvider(provided1); - _scope.publishInterface(provided1, 10); + scope.publishInterface(provided1, 10); X6 obj = new X6(); assertNull(obj.getHost()); assertNull(obj.getPort()); - config.inject(_scope, obj); + config.inject(scope, obj); assertEquals("hello", obj.getHost()); assertEquals(10, obj.getPort().intValue()); } @@ -161,18 +161,18 @@ public class SetterConfigurationTest extends AdapterTestCase { final SetterConfiguration config = new SetterConfiguration(X5.class).initAllSetters(); List required = config.getRequiredInterfaces(); assertEquals(1, required.size()); - assertEquals("setValue", required.get(0).getName()); + assertEquals("setValue.0", required.get(0).getName()); ProvidedInterface provided = new DefaultProvidedInterface("janse", String.class); required.get(0).setProvider(provided); - _scope.publishInterface(provided, "hello"); + scope.publishInterface(provided, "hello"); final X6 obj = new X6(); AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { @Override public void run() throws Exception { - config.inject(_scope, obj); + config.inject(scope, obj); } }, IllegalArgumentException.class); } @@ -186,7 +186,7 @@ public class SetterConfigurationTest extends AdapterTestCase { X5 obj = new X5(); assertNull(obj.getValue()); - config.inject(_scope, obj); + config.inject(scope, obj); assertEquals("bladibla", obj.getValue()); } @@ -201,7 +201,7 @@ public class SetterConfigurationTest extends AdapterTestCase { assertNull(obj.getHost()); assertNull(obj.getPort()); - config.inject(_scope, obj); + config.inject(scope, obj); assertNull(obj.getHost()); assertNull(obj.getPort()); @@ -213,40 +213,40 @@ public class SetterConfigurationTest extends AdapterTestCase { List required = config.getRequiredInterfaces(); Collections.sort(required, new RequiredInterfaceComparator()); assertEquals(1, required.size()); - assertEquals("setHost", required.get(0).getName()); + assertEquals("setHost.0", required.get(0).getName()); ProvidedInterface provided0 = new DefaultProvidedInterface("janse", String.class); required.get(0).setProvider(provided0); - _scope.publishInterface(provided0, "hello"); + scope.publishInterface(provided0, "hello"); X6 obj = new X6(); assertNull(obj.getHost()); assertNull(obj.getPort()); - config.inject(_scope, obj); + config.inject(scope, obj); assertEquals("hello", obj.getHost()); assertNull(obj.getPort()); } public void testAddByType() { SetterConfiguration config = new SetterConfiguration(X6.class); - config.clear().add(String.class); + config.clear().addSetter(String.class); List required = config.getRequiredInterfaces(); Collections.sort(required, new RequiredInterfaceComparator()); assertEquals(1, required.size()); - assertEquals("setHost", required.get(0).getName()); + assertEquals("setHost.0", required.get(0).getName()); ProvidedInterface provided0 = new DefaultProvidedInterface("janse", String.class); required.get(0).setProvider(provided0); - _scope.publishInterface(provided0, "hello"); + scope.publishInterface(provided0, "hello"); X6 obj = new X6(); assertNull(obj.getHost()); assertNull(obj.getPort()); - config.inject(_scope, obj); + config.inject(scope, obj); assertEquals("hello", obj.getHost()); assertNull(obj.getPort()); } @@ -280,7 +280,7 @@ public class SetterConfigurationTest extends AdapterTestCase { AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { @Override public void run() throws Exception { - config.add(DataSource.class); + config.addSetter(DataSource.class); } }, IllegalArgumentException.class); } @@ -291,7 +291,7 @@ public class SetterConfigurationTest extends AdapterTestCase { AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { @Override public void run() throws Exception { - config.add(String.class); + config.addSetter(String.class); } }, IllegalArgumentException.class); } @@ -302,21 +302,43 @@ public class SetterConfigurationTest extends AdapterTestCase { List required = config.getRequiredInterfaces(); Collections.sort(required, new RequiredInterfaceComparator()); assertEquals(1, required.size()); - assertEquals("setHost", required.get(0).getName()); + assertEquals("setHost.0", required.get(0).getName()); ProvidedInterface provided0 = new DefaultProvidedInterface("janse", String.class); required.get(0).setProvider(provided0); - _scope.publishInterface(provided0, "hello"); + scope.publishInterface(provided0, "hello"); X6 obj = new X6(); assertNull(obj.getHost()); assertNull(obj.getPort()); - config.inject(_scope, obj); + config.inject(scope, obj); assertEquals("hello", obj.getHost()); assertNull(obj.getPort()); } + + public void testRemoveByMethodObject() throws NoSuchMethodException { + SetterConfiguration config = new SetterConfiguration(X6.class).initAllSetters(); + config.remove(X6.class.getMethod("setPort", Integer.class)); + List required = config.getRequiredInterfaces(); + Collections.sort(required, new RequiredInterfaceComparator()); + assertEquals(1, required.size()); + assertEquals("setHost.0", required.get(0).getName()); + + ProvidedInterface provided0 = new DefaultProvidedInterface("janse", + String.class); + required.get(0).setProvider(provided0); + scope.publishInterface(provided0, "hello"); + + X6 obj = new X6(); + assertNull(obj.getHost()); + assertNull(obj.getPort()); + + config.inject(scope, obj); + assertEquals("hello", obj.getHost()); + assertNull(obj.getPort()); + } public void testRemoveNonExisting() { final SetterConfiguration config = new SetterConfiguration(X6.class);