You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ma...@apache.org on 2010/10/14 17:01:20 UTC

svn commit: r1022567 - /felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java

Author: marrs
Date: Thu Oct 14 15:01:20 2010
New Revision: 1022567

URL: http://svn.apache.org/viewvc?rev=1022567&view=rev
Log:
Updated the test to use a new feature of the Ensure helper class that allows you to test multiple invocations of the same method by specifying a list of sequence numbers that must match with the invocations.

Modified:
    felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java

Modified: felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java?rev=1022567&r1=1022566&r2=1022567&view=diff
==============================================================================
--- felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java (original)
+++ felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java Thu Oct 14 15:01:20 2010
@@ -23,8 +23,8 @@ import static org.ops4j.pax.exam.CoreOpt
 import static org.ops4j.pax.exam.CoreOptions.provision;
 import junit.framework.Assert;
 
-import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.Component;
+import org.apache.felix.dm.DependencyManager;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -47,8 +47,9 @@ public class ServiceDependencyInjectionT
     @Test
     public void testServiceInjection(BundleContext context) {
         DependencyManager m = new DependencyManager(context);
+        Ensure e = new Ensure();
         // create a service provider and consumer
-        ServiceProvider provider = new ServiceProvider();
+        ServiceProvider provider = new ServiceProvider(e);
         Component sp = m.createComponent().setImplementation(provider).setInterface(ServiceInterface2.class.getName(), null);
         Component sc = m.createComponent().setImplementation(new ServiceConsumer()).add(m.createServiceDependency().setService(ServiceInterface2.class).setRequired(true));
         Component sc2 = m.createComponent()
@@ -63,7 +64,7 @@ public class ServiceDependencyInjectionT
         m.add(sc2);
         m.remove(sc2);
         m.remove(sp);
-        provider.validate(2, 3);
+        e.waitForStep(5, 5000);
     }
     
     static interface ServiceInterface {
@@ -75,20 +76,22 @@ public class ServiceDependencyInjectionT
     }
 
     static class ServiceProvider implements ServiceInterface2 {
-        private int m_counter1 = 0;
-        private int m_counter2 = 0;
+        private final Ensure m_ensure;
+        private Ensure.Steps m_invokeSteps = new Ensure.Steps(4, 5);
+        private Ensure.Steps m_invoke2Steps = new Ensure.Steps(1, 2, 3);
         
+        public ServiceProvider(Ensure e) {
+            m_ensure = e;
+        }
+
         public void invoke() {
-            m_counter1++;
+            System.out.println("invoke");
+            m_ensure.steps(m_invokeSteps);
         }
         
         public void invoke2() {
-            m_counter2++;
-        }
-        
-        public void validate(int c1, int c2) {
-            Assert.assertEquals("invoke() should have been called this many times", c1, m_counter1);
-            Assert.assertEquals("invoke2() should have been called this many times", c2, m_counter2);
+            System.out.println("invoke2");
+            m_ensure.steps(m_invoke2Steps);
         }
     }