X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FDefaultInterfaceDescriptorTest.java;h=611d5cf5b34ab1cad02f9a74150498e21a689938;hb=ddd261f331280640c5b53c7128230b629ebcd268;hp=5bfca072d2cc20cf4779eb5dc3c303c3766829d1;hpb=92e23e5ecf9614f2ab770a8cdedc0b21ddf1e127;p=utils diff --git a/system/general/src/test/java/org/wamblee/system/core/DefaultInterfaceDescriptorTest.java b/system/general/src/test/java/org/wamblee/system/core/DefaultInterfaceDescriptorTest.java index 5bfca072..611d5cf5 100644 --- a/system/general/src/test/java/org/wamblee/system/core/DefaultInterfaceDescriptorTest.java +++ b/system/general/src/test/java/org/wamblee/system/core/DefaultInterfaceDescriptorTest.java @@ -1,96 +1,135 @@ /* * Copyright 2007 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.core; -import java.io.Serializable; +import junit.framework.TestCase; import org.wamblee.system.core.DefaultProvidedInterface; import org.wamblee.system.core.DefaultRequiredInterface; import org.wamblee.system.core.ProvidedInterface; import org.wamblee.system.core.RequiredInterface; -import junit.framework.TestCase; +import java.io.Serializable; + +/** + * DOCUMENT ME! + * + * @author $author$ + * @version $Revision$ + */ public class DefaultInterfaceDescriptorTest extends TestCase { + /** + * DOCUMENT ME! + */ + public void testOneRequiredOneProvidedMatch() { + ProvidedInterface provided = new DefaultProvidedInterface("name", + String.class); + RequiredInterface required = new DefaultRequiredInterface("name", + String.class); + assertTrue(required.implementedBy(provided)); + } + + /** + * DOCUMENT ME! + */ + public void testOneRequiredOneProvidedMatchSubClass() { + ProvidedInterface provided = new DefaultProvidedInterface("name", + Integer.class); + RequiredInterface required = new DefaultRequiredInterface("name", + Number.class); + assertTrue(required.implementedBy(provided)); + } + + /** + * DOCUMENT ME! + */ + public void testOneRequiredOneProvidedNoMatch() { + ProvidedInterface provided = new DefaultProvidedInterface("name", + String.class); + RequiredInterface required = new DefaultRequiredInterface("name", + Number.class); + assertFalse(required.implementedBy(provided)); + } + + /** + * DOCUMENT ME! + */ + public void testOneRequiredMultipleProvidedMatch() { + ProvidedInterface provided = new DefaultProvidedInterface("name", + new Class[] { String.class, Integer.class }); + RequiredInterface required = new DefaultRequiredInterface("name", + String.class); + assertTrue(required.implementedBy(provided)); + } + + /** + * DOCUMENT ME! + */ + public void testMultipleRequiredOneProvidedMatch() { + ProvidedInterface provided = new DefaultProvidedInterface("name", + MyMultiple.class); + RequiredInterface required = new DefaultRequiredInterface("name", + new Class[] { Runnable.class, Serializable.class }); + assertTrue(required.implementedBy(provided)); + } + + /** + * DOCUMENT ME! + */ + public void testMultipleRequiredOneProvidedNoMatch() { + ProvidedInterface provided = new DefaultProvidedInterface("name", + MyMultiple.class); + RequiredInterface required = new DefaultRequiredInterface("name", + new Class[] { String.class, Runnable.class }); + assertFalse(required.implementedBy(provided)); + } + + /** + * DOCUMENT ME! + */ + public void testMultipleRequiredMultipleProvidedMatch() { + ProvidedInterface provided = new DefaultProvidedInterface("name", + new Class[] { Runnable.class, Serializable.class, String.class }); + RequiredInterface required = new DefaultRequiredInterface("name", + new Class[] { Runnable.class, Serializable.class }); + assertTrue(required.implementedBy(provided)); + } + + /** + * DOCUMENT ME! + */ + public void testPrimitiveAndWrapperType() { + RequiredInterface req1 = new DefaultRequiredInterface("req1", int.class); + RequiredInterface req2 = new DefaultRequiredInterface("req1", + Integer.class); + ProvidedInterface prov1 = new DefaultProvidedInterface("prov1", + int.class); + ProvidedInterface prov2 = new DefaultProvidedInterface("prov2", + Integer.class); + assertTrue(req1.implementedBy(prov1)); + assertTrue(req2.implementedBy(prov1)); + assertTrue(req1.implementedBy(prov2)); + assertTrue(req2.implementedBy(prov2)); + } - public void testOneRequiredOneProvidedMatch() { - ProvidedInterface provided = new DefaultProvidedInterface("name", String.class); - RequiredInterface required = new DefaultRequiredInterface("name", String.class); - assertTrue(required.implementedBy(provided)); - } - - public void testOneRequiredOneProvidedMatchSubClass() { - ProvidedInterface provided = new DefaultProvidedInterface("name", Integer.class); - RequiredInterface required = new DefaultRequiredInterface("name", Number.class); - assertTrue(required.implementedBy(provided)); - } - - public void testOneRequiredOneProvidedNoMatch() { - ProvidedInterface provided = new DefaultProvidedInterface("name", String.class); - RequiredInterface required = new DefaultRequiredInterface("name", Number.class); - assertFalse(required.implementedBy(provided)); - } - - public void testOneRequiredMultipleProvidedMatch() { - ProvidedInterface provided = new DefaultProvidedInterface("name", - new Class[] { String.class, Integer.class} ); - RequiredInterface required = new DefaultRequiredInterface("name", String.class); - assertTrue(required.implementedBy(provided)); - } - - private static class MyMultiple implements Runnable, Serializable { - @Override - public void run() { - // Empty - } - } - - public void testMultipleRequiredOneProvidedMatch() { - ProvidedInterface provided = new DefaultProvidedInterface("name", - MyMultiple.class ); - RequiredInterface required = new DefaultRequiredInterface("name", - new Class[] {Runnable.class, Serializable.class} ); - assertTrue(required.implementedBy(provided)); - } - - public void testMultipleRequiredOneProvidedNoMatch() { - ProvidedInterface provided = new DefaultProvidedInterface("name", - MyMultiple.class ); - RequiredInterface required = new DefaultRequiredInterface("name", - new Class[] { String.class, Runnable.class} ); - assertFalse(required.implementedBy(provided)); - } - - public void testMultipleRequiredMultipleProvidedMatch() { - ProvidedInterface provided = new DefaultProvidedInterface("name", - new Class[] { Runnable.class, Serializable.class, String.class} ); - RequiredInterface required = new DefaultRequiredInterface("name", - new Class[] {Runnable.class, Serializable.class} ); - assertTrue(required.implementedBy(provided)); - } - - public void testPrimitiveAndWrapperType() { - RequiredInterface req1 = new DefaultRequiredInterface("req1", int.class); - RequiredInterface req2 = new DefaultRequiredInterface("req1", Integer.class); - ProvidedInterface prov1 = new DefaultProvidedInterface("prov1", int.class); - ProvidedInterface prov2 = new DefaultProvidedInterface("prov2", Integer.class); - assertTrue(req1.implementedBy(prov1)); - assertTrue(req2.implementedBy(prov1)); - assertTrue(req1.implementedBy(prov2)); - assertTrue(req2.implementedBy(prov2)); - } - + private static class MyMultiple implements Runnable, Serializable { + @Override + public void run() { + // Empty + } + } }