[jbpm-commits] JBoss JBPM SVN: r6410 - in jbpm4/trunk/modules: test-db/src/test/java/org/jbpm/test/activity/custom and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sun Jun 13 01:17:30 EDT 2010


Author: alex.guizar at jboss.com
Date: 2010-06-13 01:17:29 -0400 (Sun, 13 Jun 2010)
New Revision: 6410

Modified:
   jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/assertion/QueryAssertions.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/custom/CustomHistoryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryActivityInstanceQueryTest.java
Log:
JBPM-2872: add order-by clause to queries in tests that assume ordered results

Modified: jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/assertion/QueryAssertions.java
===================================================================
--- jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/assertion/QueryAssertions.java	2010-06-13 02:38:39 UTC (rev 6409)
+++ jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/assertion/QueryAssertions.java	2010-06-13 05:17:29 UTC (rev 6410)
@@ -24,11 +24,14 @@
  */
 package org.jbpm.test.assertion;
 
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.assertTrue;
+import static junit.framework.Assert.fail;
+
 import java.lang.reflect.Method;
 import java.util.List;
 
-import junit.framework.Assert;
-
 /**
  * Utility class with assertions for query test.
  * 
@@ -70,73 +73,58 @@
    *          list
    */
   public static <T> void assertOrderOnProperty(Class<T> clazz, String property, 
-          List<T> listOrderedAsc, List<T> listOrderedDesc, List<Object> expectedValuesAsc) {
-    
-    Assert.assertNotNull(listOrderedAsc);
-    Assert.assertEquals(expectedValuesAsc.size(), expectedValuesAsc.size());
+          List<T> listOrderedAsc, List<T> listOrderedDesc, List<?> expectedValuesAsc) {
+    assertNotNull(listOrderedAsc);
+    assertEquals(expectedValuesAsc.size(), expectedValuesAsc.size());
 
-    Assert.assertNotNull(listOrderedDesc);
-    Assert.assertEquals(expectedValuesAsc.size(), listOrderedDesc.size());
+    assertNotNull(listOrderedDesc);
+    assertEquals(expectedValuesAsc.size(), listOrderedDesc.size());
 
     for (int i = 0; i < expectedValuesAsc.size(); i++) {
-
       Object realValueAsc = null;
       Object realValueDesc = null;
 
       try {
-
         realValueAsc = invokeGetter(property, clazz, listOrderedAsc.get(i));
         realValueDesc = invokeGetter(property, clazz, listOrderedDesc.get(i));
-
       } catch (Exception e) {
-        Assert.fail(e.getMessage());
+        fail(e.getMessage());
       }
 
-      Assert.assertEquals("Incorrect order by ASC for property " + property, 
+      assertEquals("Incorrect order by ASC for property " + property, 
               expectedValuesAsc.get(i), realValueAsc);
-      Assert.assertEquals("Incorrect order by DESC for property " + property, 
+      assertEquals("Incorrect order by DESC for property " + property, 
               expectedValuesAsc.get((listOrderedDesc.size() -1) - i), realValueDesc);
-
     }
   }
   
   /**
    * Does the same as the assertOrderOnProperty assertion, but instead of
    * checking if the resulting list have the correct elements now it is checked
-   * if the elements are naturally ordered ascending and descending.
-   * 
-   * IMPORTANT: the type T must be implementing the {@link Comparable} interface!
+   * if the elements are naturally ordered ascending and descending
+   * on the given property.
    */
-  @SuppressWarnings("unchecked")
   public static <T> void assertOrderIsNatural(Class<T> clazz, String property, List<T> listOrderedAsc, List<T> listOrderedDesc, int nrOfExpectedElements) {
+    assertEquals(nrOfExpectedElements, listOrderedAsc.size());
+    assertEquals(nrOfExpectedElements, listOrderedDesc.size());
 
-    Assert.assertEquals(nrOfExpectedElements, listOrderedAsc.size());
-    Assert.assertEquals(nrOfExpectedElements, listOrderedDesc.size());
-
     if (nrOfExpectedElements > 1) {
-
       for (int i = 1; i < listOrderedAsc.size(); i++) {
-
         // ascending check
-        Comparable c1 = (Comparable) invokeGetter(property, clazz, listOrderedAsc.get(i - 1));
-        Comparable c2 = (Comparable) invokeGetter(property, clazz, listOrderedAsc.get(i));
-        if (c1 != null && c2 != null) {
-          Assert.assertTrue("The ascending list does not have a natural order",c1.compareTo(c2) <= 0); // c1 <= c2 when ascending
-        }
+        Object c1 = invokeGetter(property, clazz, listOrderedAsc.get(i - 1));
+        Object c2 = invokeGetter(property, clazz, listOrderedAsc.get(i));
+        // c1 <= c2 when ascending
+        assertTrue("the ascending list does not have a natural order",  compare(c1, c2) <= 0);
 
-        // ascending check
-        Comparable c3 = (Comparable) invokeGetter(property, clazz, listOrderedDesc.get(i - 1));
-        Comparable c4 = (Comparable) invokeGetter(property, clazz, listOrderedDesc.get(i));
-        if (c3 != null && c4 != null) {
-          Assert.assertTrue("The descending list does not have a natural order", c3.compareTo(c4) >= 0); // c3 >= c4 when ascending
-        }
-
+        // descending check
+        Object c3 = invokeGetter(property, clazz, listOrderedDesc.get(i - 1));
+        Object c4 = invokeGetter(property, clazz, listOrderedDesc.get(i));
+        // c3 >= c4 when descending
+        assertTrue("the descending list does not have a natural order", compare(c3, c4) >= 0);
       }
-      
     }
-    
   }
-  
+
   private static <T> Object invokeGetter(String property, Class<T> clazz, T obj) {
     try {
       Method getter = clazz.getMethod("get" + property.substring(0, 1).toUpperCase() + property.substring(1));
@@ -145,6 +133,12 @@
       throw new RuntimeException("Couldn't invoke getter for property " + property);
     }
   }
-  
 
+  @SuppressWarnings("unchecked")
+  private static int compare(Object o1, Object o2) {
+    if (o1 == null || o2 == null) return 0;
+
+    Comparable c1 = (Comparable) o1;
+    return c1.compareTo(o2);
+  }
 }

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/custom/CustomHistoryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/custom/CustomHistoryTest.java	2010-06-13 02:38:39 UTC (rev 6409)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/custom/CustomHistoryTest.java	2010-06-13 05:17:29 UTC (rev 6410)
@@ -67,7 +67,10 @@
     
     assertProcessInstanceEnded(processInstance);
     
-    List<HistoryActivityInstance> histActivities = historyService.createHistoryActivityInstanceQuery().processInstanceId(processInstance.getId()).list();
+    List<HistoryActivityInstance> histActivities = historyService
+      .createHistoryActivityInstanceQuery()
+      .processInstanceId(processInstance.getId())
+      .orderAsc("startTime").list();
     
     assertEquals(2, histActivities.size());
     assertEquals("c", histActivities.get(0).getActivityName());

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryActivityInstanceQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryActivityInstanceQueryTest.java	2010-06-13 02:38:39 UTC (rev 6409)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryActivityInstanceQueryTest.java	2010-06-13 05:17:29 UTC (rev 6410)
@@ -257,7 +257,7 @@
     return ids;
   }
   
-  private void testOrderBy(String property, List expectedValues) {
+  private void testOrderBy(String property, List<?> expectedValues) {
     testOrderBy(property, expectedValues, null, false);
   }
 
@@ -265,8 +265,7 @@
     testOrderBy(property, null, expectedNrOfResults, true);
   }
   
-  @SuppressWarnings("unchecked")
-  private void testOrderBy(String property, List expectedValues, 
+  private void testOrderBy(String property, List<?> expectedValues, 
           Integer expectedNrOfResults, boolean naturalOrderCheck) {
     
     deployStartAndSignalTestProcesses();
@@ -282,7 +281,6 @@
     } else {
       QueryAssertions.assertOrderOnProperty(HistoryActivityInstance.class, property, listAsc, listDesc, expectedValues);
     }
-    
   }
   
   /**
@@ -329,7 +327,10 @@
   public void testQueryByProcessInstanceId() {
     deployTestProcessWithTask();
     List<String> ids = generateHistoryForTestProcessWithTask();
-    List<HistoryActivityInstance> history = historyService.createHistoryActivityInstanceQuery().processInstanceId(ids.get(0)).list();
+    List<HistoryActivityInstance> history = historyService
+      .createHistoryActivityInstanceQuery()
+      .processInstanceId(ids.get(0))
+      .orderAsc("startTime").list();
     
     //first check size of history entries
     assertEquals(3, history.size());



More information about the jbpm-commits mailing list