Author: sathwik
Date: Fri Jan 25 10:22:27 2013
New Revision: 1438420

URL: http://svn.apache.org/viewvc?rev=1438420&view=rev
Log:
ODE-990: test case

Modified:
    
ode/branches/ode-1.3.6.x/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java

Modified: 
ode/branches/ode-1.3.6.x/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java
URL: 
http://svn.apache.org/viewvc/ode/branches/ode-1.3.6.x/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java?rev=1438420&r1=1438419&r2=1438420&view=diff
==============================================================================
--- 
ode/branches/ode-1.3.6.x/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java
 (original)
+++ 
ode/branches/ode-1.3.6.x/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java
 Fri Jan 25 10:22:27 2013
@@ -99,7 +99,30 @@ public class SchedulerThreadTest extends
             assertTrue(tr.time > tr.task.schedDate - SCHED_TOLERANCE / 2);
         }
     }
-    
+
+    public void testTaskDequeueOrderWithSameExecTime() throws Exception {
+        final long startTime = System.currentTimeMillis();
+
+        // enqueue jobs with same execution time and incremental jobId
+        for (int i = 0; i < 300; i++) {
+            Job tsk = new Job(startTime, String.valueOf(i), true, null);
+            _st.enqueue(tsk);
+        }
+
+        _st.start();
+        Thread.sleep(300 + 300 * 5);
+        assertEquals(300, _tasks.size());
+
+        // jobs need to be dequeued in the same order of insertion.
+        for (int i = 0; i < 299; ++i) {
+            Job currJob = (Job) _tasks.get(i).task;
+            Job nextJob = (Job) _tasks.get(i + 1).task;
+            assertTrue(Integer.parseInt(currJob.jobId) < 
Integer.parseInt(nextJob.jobId));
+        }
+        _st.stop();
+    }
+
+
     public void runTask(Task task) {
         synchronized(_tasks) {
             _tasks.add(new TR(System.currentTimeMillis(),task));


Reply via email to