(no commit message)
[utils] / system / general / src / test / java / org / wamblee / system / adapters / SetterConfigurationTest.java
index 8f27f3ed2cab11b9f2d352295783910640838afb..b38b66c866d1a1c0d45cc8663a73d14d3ea1692e 100644 (file)
@@ -1,12 +1,12 @@
 /*
- * Copyright 2008 the original author or authors.
- *
+ * Copyright 2005-2010 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.
  */
 package org.wamblee.system.adapters;
 
-import org.wamblee.system.core.DefaultProvidedInterface;
-import org.wamblee.system.core.ProvidedInterface;
-import org.wamblee.system.core.RequiredInterface;
-import org.wamblee.system.core.RequiredInterfaceComparator;
-
-import org.wamblee.test.AssertionUtils;
-
 import java.lang.reflect.Method;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
@@ -31,17 +23,19 @@ import java.util.List;
 
 import javax.sql.DataSource;
 
+import org.wamblee.system.core.DefaultProvidedInterface;
+import org.wamblee.system.core.ProvidedInterface;
+import org.wamblee.system.core.RequiredInterface;
+import org.wamblee.system.core.RequiredInterfaceComparator;
+import org.wamblee.system.core.Scope;
+import org.wamblee.test.AssertionUtils;
 
 /**
- * DOCUMENT ME!
- *
+ * 
  * @author $author$
  * @version $Revision$
 */
+ */
 public class SetterConfigurationTest extends AdapterTestCase {
-    /**
-     * DOCUMENT ME!
-     */
     public void testOneSetter() {
         SetterConfiguration config = new SetterConfiguration(X5.class);
         config.initAllSetters();
@@ -51,8 +45,9 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals("setValue.0", required.get(0).getName());
 
         ProvidedInterface provided = new DefaultProvidedInterface("janse",
-                String.class);
+            String.class);
         required.get(0).setProvider(provided);
+        Scope scope = getScope();
         scope.publishInterface(provided, "hello");
 
         X5 obj = new X5();
@@ -61,35 +56,32 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals("hello", obj.getValue());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testPrivateSetter() {
         SetterConfiguration config = new SetterConfiguration(X5.class);
         config.setNonPublic(true);
         config.initAllSetters();
 
-        List<RequiredInterface> required = new ArrayList<RequiredInterface>(config
-                .getRequiredInterfaces());
-        Collections.sort(required,
-            new Comparator<RequiredInterface>() {
-                @Override
-                public int compare(RequiredInterface aO1, RequiredInterface aO2) {
-                    return aO1.getName().compareTo(aO2.getName());
-                }
-            });
+        List<RequiredInterface> required = new ArrayList<RequiredInterface>(
+            config.getRequiredInterfaces());
+        Collections.sort(required, new Comparator<RequiredInterface>() {
+            @Override
+            public int compare(RequiredInterface aO1, RequiredInterface aO2) {
+                return aO1.getName().compareTo(aO2.getName());
+            }
+        });
         assertEquals(2, required.size());
         assertEquals("setValue.0", required.get(0).getName());
         assertEquals("setXyz.0", required.get(1).getName());
 
-        ProvidedInterface providedString = new DefaultProvidedInterface("janse",
-                String.class);
+        ProvidedInterface providedString = new DefaultProvidedInterface(
+            "janse", String.class);
         assertTrue(required.get(0).implementedBy(providedString));
         required.get(0).setProvider(providedString);
+        Scope scope = getScope();
         scope.publishInterface(providedString, "hello");
 
         ProvidedInterface providedInt = new DefaultProvidedInterface("xxx",
-                Integer.class);
+            Integer.class);
         assertTrue(required.get(1).implementedBy(providedInt));
         required.get(1).setProvider(providedInt);
         scope.publishInterface(providedInt, 100);
@@ -102,42 +94,39 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals(100, obj.getXyz().intValue());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testInheritance() {
         SetterConfiguration config = new SetterConfiguration(X9.class);
         config.setNonPublic(true);
         config.initAllSetters();
 
-        List<RequiredInterface> required = new ArrayList<RequiredInterface>(config
-                .getRequiredInterfaces());
-        Collections.sort(required,
-            new Comparator<RequiredInterface>() {
-                @Override
-                public int compare(RequiredInterface aO1, RequiredInterface aO2) {
-                    return aO1.getName().compareTo(aO2.getName());
-                }
-            });
+        List<RequiredInterface> required = new ArrayList<RequiredInterface>(
+            config.getRequiredInterfaces());
+        Collections.sort(required, new Comparator<RequiredInterface>() {
+            @Override
+            public int compare(RequiredInterface aO1, RequiredInterface aO2) {
+                return aO1.getName().compareTo(aO2.getName());
+            }
+        });
         assertEquals(3, required.size());
         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);
+        ProvidedInterface providedBoolean = new DefaultProvidedInterface(
+            "janse", Boolean.class);
         assertTrue(required.get(0).implementedBy(providedBoolean));
         required.get(0).setProvider(providedBoolean);
+        Scope scope = getScope();
         scope.publishInterface(providedBoolean, true);
 
-        ProvidedInterface providedString = new DefaultProvidedInterface("janse",
-                String.class);
+        ProvidedInterface providedString = new DefaultProvidedInterface(
+            "janse", String.class);
         assertTrue(required.get(1).implementedBy(providedString));
         required.get(1).setProvider(providedString);
         scope.publishInterface(providedString, "hello");
 
         ProvidedInterface providedInt = new DefaultProvidedInterface("xxx",
-                Integer.class);
+            Integer.class);
         assertTrue(required.get(2).implementedBy(providedInt));
         required.get(2).setProvider(providedInt);
         scope.publishInterface(providedInt, 100);
@@ -152,11 +141,8 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertTrue(obj.isFlag());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testMultipleSetters() {
-        SetterConfiguration     config   = new SetterConfiguration(X6.class)
+        SetterConfiguration config = new SetterConfiguration(X6.class)
             .initAllSetters();
         List<RequiredInterface> required = config.getRequiredInterfaces();
         Collections.sort(required, new RequiredInterfaceComparator());
@@ -165,12 +151,13 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals("setPort.0", required.get(1).getName());
 
         ProvidedInterface provided0 = new DefaultProvidedInterface("janse",
-                String.class);
+            String.class);
         required.get(0).setProvider(provided0);
+        Scope scope = getScope();
         scope.publishInterface(provided0, "hello");
 
         ProvidedInterface provided1 = new DefaultProvidedInterface("port",
-                Integer.class);
+            Integer.class);
         required.get(1).setProvider(provided1);
         scope.publishInterface(provided1, 10);
 
@@ -183,33 +170,28 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals(10, obj.getPort().intValue());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testInvokeWrongType() {
-        final SetterConfiguration config   = new SetterConfiguration(X5.class)
+        final SetterConfiguration config = new SetterConfiguration(X5.class)
             .initAllSetters();
-        List<RequiredInterface>   required = config.getRequiredInterfaces();
+        List<RequiredInterface> required = config.getRequiredInterfaces();
         assertEquals(1, required.size());
         assertEquals("setValue.0", required.get(0).getName());
 
         ProvidedInterface provided = new DefaultProvidedInterface("janse",
-                String.class);
+            String.class);
         required.get(0).setProvider(provided);
+        final Scope scope = getScope();
         scope.publishInterface(provided, "hello");
 
         final X6 obj = new X6();
         AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
-                @Override
-                public void run() throws Exception {
-                    config.inject(scope, obj);
-                }
-            }, IllegalArgumentException.class);
+            @Override
+            public void run() throws Exception {
+                config.inject(scope, obj);
+            }
+        }, IllegalArgumentException.class);
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testSetExplicitValue() {
         SetterConfiguration config = new SetterConfiguration(X5.class)
             .initAllSetters();
@@ -220,13 +202,11 @@ public class SetterConfigurationTest extends AdapterTestCase {
 
         X5 obj = new X5();
         assertNull(obj.getValue());
+        Scope scope = getScope();
         config.inject(scope, obj);
         assertEquals("bladibla", obj.getValue());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testClear() {
         SetterConfiguration config = new SetterConfiguration(X6.class);
         config.clear();
@@ -239,15 +219,13 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertNull(obj.getHost());
         assertNull(obj.getPort());
 
+        Scope scope = getScope();
         config.inject(scope, obj);
 
         assertNull(obj.getHost());
         assertNull(obj.getPort());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testAddByName() {
         SetterConfiguration config = new SetterConfiguration(X6.class);
         config.clear().add("setHost");
@@ -258,8 +236,9 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals("setHost.0", required.get(0).getName());
 
         ProvidedInterface provided0 = new DefaultProvidedInterface("janse",
-                String.class);
+            String.class);
         required.get(0).setProvider(provided0);
+        Scope scope = getScope();
         scope.publishInterface(provided0, "hello");
 
         X6 obj = new X6();
@@ -271,9 +250,6 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertNull(obj.getPort());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testAddByType() {
         SetterConfiguration config = new SetterConfiguration(X6.class);
         config.clear().addSetter(String.class);
@@ -284,8 +260,9 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals("setHost.0", required.get(0).getName());
 
         ProvidedInterface provided0 = new DefaultProvidedInterface("janse",
-                String.class);
+            String.class);
         required.get(0).setProvider(provided0);
+        Scope scope = getScope();
         scope.publishInterface(provided0, "hello");
 
         X6 obj = new X6();
@@ -297,18 +274,14 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertNull(obj.getPort());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testAddPrivate() {
-        X5                        obj    = new X5();
         final SetterConfiguration config = new SetterConfiguration(X5.class);
         AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
-                @Override
-                public void run() throws Exception {
-                    config.add("xyz");
-                }
-            }, IllegalArgumentException.class);
+            @Override
+            public void run() throws Exception {
+                config.add("xyz");
+            }
+        }, IllegalArgumentException.class);
 
         config.setNonPublic(true);
         config.clear();
@@ -316,44 +289,35 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals(1, config.getRequiredInterfaces().size());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testAddNonExisting() {
         final SetterConfiguration config = new SetterConfiguration(X6.class);
         config.clear();
 
         AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
-                @Override
-                public void run() throws Exception {
-                    config.add("bladibla");
-                }
-            }, IllegalArgumentException.class);
+            @Override
+            public void run() throws Exception {
+                config.add("bladibla");
+            }
+        }, IllegalArgumentException.class);
         AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
-                @Override
-                public void run() throws Exception {
-                    config.addSetter(DataSource.class);
-                }
-            }, IllegalArgumentException.class);
+            @Override
+            public void run() throws Exception {
+                config.addSetter(DataSource.class);
+            }
+        }, IllegalArgumentException.class);
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testAddByTypeNonUnique() {
         final SetterConfiguration config = new SetterConfiguration(X11.class);
         config.clear();
         AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
-                @Override
-                public void run() throws Exception {
-                    config.addSetter(String.class);
-                }
-            }, IllegalArgumentException.class);
+            @Override
+            public void run() throws Exception {
+                config.addSetter(String.class);
+            }
+        }, IllegalArgumentException.class);
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testRemove() {
         SetterConfiguration config = new SetterConfiguration(X6.class)
             .initAllSetters();
@@ -365,8 +329,9 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals("setHost.0", required.get(0).getName());
 
         ProvidedInterface provided0 = new DefaultProvidedInterface("janse",
-                String.class);
+            String.class);
         required.get(0).setProvider(provided0);
+        Scope scope = getScope();
         scope.publishInterface(provided0, "hello");
 
         X6 obj = new X6();
@@ -378,11 +343,6 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertNull(obj.getPort());
     }
 
-    /**
-     * DOCUMENT ME!
-     *
-     * @throws NoSuchMethodException DOCUMENT ME!
-     */
     public void testRemoveByMethodObject() throws NoSuchMethodException {
         SetterConfiguration config = new SetterConfiguration(X6.class)
             .initAllSetters();
@@ -394,8 +354,9 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertEquals("setHost.0", required.get(0).getName());
 
         ProvidedInterface provided0 = new DefaultProvidedInterface("janse",
-                String.class);
+            String.class);
         required.get(0).setProvider(provided0);
+        Scope scope = getScope();
         scope.publishInterface(provided0, "hello");
 
         X6 obj = new X6();
@@ -407,23 +368,17 @@ public class SetterConfigurationTest extends AdapterTestCase {
         assertNull(obj.getPort());
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testRemoveNonExisting() {
         final SetterConfiguration config = new SetterConfiguration(X6.class);
 
         AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
-                @Override
-                public void run() throws Exception {
-                    config.remove("bladibla");
-                }
-            }, IllegalArgumentException.class);
+            @Override
+            public void run() throws Exception {
+                config.remove("bladibla");
+            }
+        }, IllegalArgumentException.class);
     }
 
-    /**
-     * DOCUMENT ME!
-     */
     public void testOverridingSetters() {
         SetterConfiguration config = new SetterConfiguration(X10.class)
             .initAllSetters();