You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/04/09 21:52:14 UTC

svn commit: r1090661 - /commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java

Author: simonetripodi
Date: Sat Apr  9 19:52:13 2011
New Revision: 1090661

URL: http://svn.apache.org/viewvc?rev=1090661&view=rev
Log:
test for DISCOVERY-17: Enumeration returned by Service.providers has a broken behavior

Modified:
    commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java

Modified: commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java
URL: http://svn.apache.org/viewvc/commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java?rev=1090661&r1=1090660&r2=1090661&view=diff
==============================================================================
--- commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java (original)
+++ commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java Sat Apr  9 19:52:13 2011
@@ -22,6 +22,7 @@ import static junit.framework.Assert.ass
 import static junit.framework.Assert.fail;
 
 import java.net.URL;
+import java.util.Enumeration;
 import java.util.Properties;
 
 import org.apache.commons.discovery.Resource;
@@ -38,6 +39,8 @@ import org.apache.commons.discovery.tool
 import org.apache.commons.discovery.tools.ManagedProperties;
 import org.apache.commons.discovery.tools.PropertiesHolder;
 import org.apache.commons.discovery.tools.SPInterface;
+import org.apache.commons.discovery.tools.Service;
+import org.apache.commons.logging.Log;
 import org.junit.Test;
 
 /**
@@ -288,4 +291,23 @@ public class TestAll {
         assertEquals(TestImpl2_1.class, serviceImpl.getClass());
     }
 
+    @Test
+    public void findImplementationsViaService() {
+        final int expectedLogImplementations = 3;
+        int actualLogImplementations = 0;
+
+        Enumeration<? extends Log> logImplementations = Service.providers(new SPInterface<Log>(Log.class,
+                new Class<?>[]{ String.class },
+                new Object[]{ getClass().getName() }),
+                null);
+
+        while (logImplementations.hasMoreElements()) {
+            Log log = logImplementations.nextElement();
+            assertNotNull(log);
+            actualLogImplementations++;
+        }
+
+        assertEquals(expectedLogImplementations, actualLogImplementations);
+    }
+
 }