/* * Copyright 2008 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. * See the License for the specific language governing permissions and * limitations under the License. */ package org.wamblee.system.adapters; import java.util.List; import org.wamblee.system.core.DefaultProvidedInterface; import org.wamblee.system.core.ProvidedInterface; import org.wamblee.system.core.RequiredInterface; import org.wamblee.test.AssertionUtils; public class ClassConfigurationTest extends AdapterTestCase { public void testConstructorConfig() { ClassConfiguration classConfig = new ClassConfiguration(X1.class); ConstructorConfiguration config = classConfig.getConstructorConfig() .greedy(); ProvidedInterface provided = new DefaultProvidedInterface("arg", String.class); List required = config.getRequiredInterfaces(); assertEquals(1, required.size()); assertFalse(required.get(0).isOptional()); required.get(0).setProvider(provided); provided.publish("hello", _scope); config.create(_scope); AssertionUtils.assertEquals(new String[] { "x1(hello)" }, AdapterTestCase.EVENT_TRACKER .getEvents(Thread.currentThread()).toArray()); } }