[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