1 package org.wamblee.system;
3 import java.io.Serializable;
5 import junit.framework.TestCase;
7 public class DefaultServiceDescriptorTest extends TestCase {
9 public void testOneRequiredOneProvidedMatch() {
10 ProvidedServiceDescriptor provided = new DefaultProvidedServiceDescriptor("name", String.class);
11 RequiredServiceDescriptor required = new DefaultRequiredServiceDescriptor("name", String.class);
12 assertTrue(required.implementedBy(provided));
15 public void testOneRequiredOneProvidedMatchSubClass() {
16 ProvidedServiceDescriptor provided = new DefaultProvidedServiceDescriptor("name", Integer.class);
17 RequiredServiceDescriptor required = new DefaultRequiredServiceDescriptor("name", Number.class);
18 assertTrue(required.implementedBy(provided));
21 public void testOneRequiredOneProvidedNoMatch() {
22 ProvidedServiceDescriptor provided = new DefaultProvidedServiceDescriptor("name", String.class);
23 RequiredServiceDescriptor required = new DefaultRequiredServiceDescriptor("name", Number.class);
24 assertFalse(required.implementedBy(provided));
27 public void testOneRequiredMultipleProvidedMatch() {
28 ProvidedServiceDescriptor provided = new DefaultProvidedServiceDescriptor("name",
29 new Class[] { String.class, Integer.class} );
30 RequiredServiceDescriptor required = new DefaultRequiredServiceDescriptor("name", String.class);
31 assertTrue(required.implementedBy(provided));
34 private static class MyMultiple implements Runnable, Serializable {
41 public void testMultipleRequiredOneProvidedMatch() {
42 ProvidedServiceDescriptor provided = new DefaultProvidedServiceDescriptor("name",
44 RequiredServiceDescriptor required = new DefaultRequiredServiceDescriptor("name",
45 new Class[] {Runnable.class, Serializable.class} );
46 assertTrue(required.implementedBy(provided));
49 public void testMultipleRequiredOneProvidedNoMatch() {
50 ProvidedServiceDescriptor provided = new DefaultProvidedServiceDescriptor("name",
52 RequiredServiceDescriptor required = new DefaultRequiredServiceDescriptor("name",
53 new Class[] { String.class, Runnable.class} );
54 assertFalse(required.implementedBy(provided));
57 public void testMultipleRequiredMultipleProvidedMatch() {
58 ProvidedServiceDescriptor provided = new DefaultProvidedServiceDescriptor("name",
59 new Class[] { Runnable.class, Serializable.class, String.class} );
60 RequiredServiceDescriptor required = new DefaultRequiredServiceDescriptor("name",
61 new Class[] {Runnable.class, Serializable.class} );
62 assertTrue(required.implementedBy(provided));