+ public void testConstructorConfig() {
+ ClassConfiguration classConfig = new ClassConfiguration(X1.class);
+
+ ProvidedInterface provided = new DefaultProvidedInterface("arg",
+ String.class);
+ List<RequiredInterface> required = classConfig.getRequiredInterfaces();
+
+ assertEquals(1, required.size());
+ assertFalse(required.get(0).isOptional());
+
+ required.get(0).setProvider(provided);
+
+ getScope().publishInterface(provided, "hello");
+ classConfig.create(getScope());
+
+ AssertionUtils.assertEquals(new String[] { "x1(hello)" },
+ AdapterTestCase.getEventTracker().getEvents(Thread.currentThread())
+ .toArray());
+ }
+
+ public void testConstructorConfigWithSetters() {
+ ClassConfiguration classConfig = new ClassConfiguration(X7.class);
+
+ classConfig.getConstructorConfig().select(Boolean.class);
+ classConfig.getObjectConfig().getSetterConfig().initAllSetters()
+ .values("setPort").setValue(0, 10);
+
+ ProvidedInterface providedBoolean = new DefaultProvidedInterface(
+ "boolean", Boolean.class);
+ ProvidedInterface providedHost = new DefaultProvidedInterface("host",
+ String.class);
+ List<RequiredInterface> required = classConfig.getRequiredInterfaces();
+
+ Collections.sort(required, new RequiredInterfaceComparator());
+ assertEquals(2, required.size());
+ assertEquals("arg0", required.get(0).getName());