Author: jmarino
Date: Sun Jul 23 17:01:36 2006
New Revision: 424865

URL: http://svn.apache.org/viewvc?rev=424865&view=rev
Log:
minor unit test refactoring

Modified:
    
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/Jsr237WorkSchedulerTestCase.java
    
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java

Modified: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/Jsr237WorkSchedulerTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/Jsr237WorkSchedulerTestCase.java?rev=424865&r1=424864&r2=424865&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/Jsr237WorkSchedulerTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/Jsr237WorkSchedulerTestCase.java
 Sun Jul 23 17:01:36 2006
@@ -1,6 +1,7 @@
 package org.apache.tuscany.core.services.work.jsr237;
 
 import org.apache.tuscany.spi.services.work.NotificationListener;
+import org.apache.tuscany.spi.services.work.WorkSchedulerException;
 
 import commonj.work.Work;
 import commonj.work.WorkItem;
@@ -58,6 +59,23 @@
         expectLastCall();
         replay(listener);
         scheduler.scheduleWork(work, listener);
+        verify(mgr);
+    }
+
+    @SuppressWarnings("unchecked")
+    public void testWorkRejectedNoListener() throws Exception {
+        WorkManager mgr = createMock(WorkManager.class);
+        mgr.schedule(isA(Work.class));
+        expectLastCall().andThrow(new WorkRejectedException());
+        replay(mgr);
+        Jsr237WorkScheduler scheduler = new Jsr237WorkScheduler(mgr);
+        Work work = createMock(Work.class);
+        try {
+            scheduler.scheduleWork(work);
+            fail();
+        } catch (WorkSchedulerException e) {
+            // expected
+        }
         verify(mgr);
     }
 

Modified: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java?rev=424865&r1=424864&r2=424865&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
 Sun Jul 23 17:01:36 2006
@@ -1,14 +1,18 @@
 package org.apache.tuscany.core.services.work.jsr237.workmanager;
 
+import java.util.concurrent.CountDownLatch;
+
 import commonj.work.Work;
 import commonj.work.WorkEvent;
 import commonj.work.WorkListener;
 import junit.framework.TestCase;
 import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.createStrictMock;
 import static org.easymock.EasyMock.expectLastCall;
 import static org.easymock.EasyMock.isA;
 import static org.easymock.EasyMock.replay;
 import static org.easymock.EasyMock.verify;
+import org.easymock.IAnswer;
 
 /**
  * @version $Rev$ $Date$
@@ -26,10 +30,11 @@
     }
 
     public void testListener() throws Exception {
-        WorkListener listener = createMock(WorkListener.class);
-        listener.workStarted(isA(WorkEvent.class));
+        WorkListener listener = createStrictMock(WorkListener.class);
         listener.workAccepted(isA(WorkEvent.class));
+        listener.workStarted(isA(WorkEvent.class));
         listener.workCompleted(isA(WorkEvent.class));
+        expectLastCall();
         replay(listener);
         Work work = createMock(Work.class);
         work.run();
@@ -40,6 +45,49 @@
         verify(work);
     }
 
+    public void testDelayListener() throws Exception {
+        final CountDownLatch latch = new CountDownLatch(1);
+        final CountDownLatch latch2 = new CountDownLatch(1);
+        WorkListener listener = createStrictMock(WorkListener.class);
+        listener.workAccepted(isA(WorkEvent.class));
+        listener.workStarted(isA(WorkEvent.class));
+        listener.workCompleted(isA(WorkEvent.class));
+        expectLastCall().andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                latch2.countDown();
+                return null;
+            }
+        });
+        replay(listener);
+        Work work = createMock(Work.class);
+        work.run();
+        expectLastCall().andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                latch.await();
+                return null;
+            }
+        });
+        replay(work);
+        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
+        mgr.schedule(work, listener);
+        latch.countDown();
+        verify(work);
+    }
+
+    public void testErrorListener() throws Exception {
+        WorkListener listener = createStrictMock(WorkListener.class);
+        listener.workAccepted(isA(WorkEvent.class));
+        listener.workStarted(isA(WorkEvent.class));
+        listener.workCompleted(isA(WorkEvent.class));
+        replay(listener);
+        Work work = createMock(Work.class);
+        work.run();
+        expectLastCall().andThrow(new RuntimeException());
+        replay(work);
+        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
+        mgr.schedule(work, listener);
+        verify(work);
+    }
 
 }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to