- 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));
- }
-