You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/07/15 20:54:01 UTC
[1/2] git commit: ISIS-463: better error messages in assertTableEquals
Updated Branches:
refs/heads/master 4fce57533 -> bbf0b6c1a
ISIS-463: better error messages in assertTableEquals
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/1651b3fc
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/1651b3fc
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/1651b3fc
Branch: refs/heads/master
Commit: 1651b3fcf351e71cf4d48d824582d55c9716ed68
Parents: 4fce575
Author: Dan Haywood <da...@apache.org>
Authored: Mon Jul 15 19:44:42 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Jul 15 19:44:42 2013 +0100
----------------------------------------------------------------------
.../isis/core/specsupport/specs/CukeStepDefsAbstract.java | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/1651b3fc/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeStepDefsAbstract.java
----------------------------------------------------------------------
diff --git a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeStepDefsAbstract.java b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeStepDefsAbstract.java
index f552d45..bd17b65 100644
--- a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeStepDefsAbstract.java
+++ b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeStepDefsAbstract.java
@@ -23,6 +23,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
+import com.google.common.base.Objects;
import com.google.common.collect.Lists;
import org.jmock.Sequence;
@@ -30,6 +31,7 @@ import org.jmock.States;
import org.jmock.internal.ExpectationBuilder;
import org.junit.Assert;
+import cucumber.api.DataTable;
import cucumber.api.java.Before;
import org.apache.isis.applib.DomainObjectContainer;
@@ -171,6 +173,7 @@ public abstract class CukeStepDefsAbstract {
final List<Object> listOfActuals = Lists.newArrayList(iterableOfActuals);
assertThat(listOfActuals.size(), is(listOfExpecteds.size()));
+ final StringBuilder buf = new StringBuilder();
for (int i=0; i<listOfActuals.size(); i++) {
final Object actual = listOfActuals.get(i);
@@ -182,9 +185,14 @@ public abstract class CukeStepDefsAbstract {
final Object actualProp = getProperty(actual, propertyName );
final Object expectedProp = getProperty(expected, propertyName);
- assertThat("Values differ for property: " + propertyName, actualProp, is(expectedProp));
+ if(!Objects.equal(actualProp, expectedProp)) {
+ buf.append("#" + i + ": " + propertyName + ": " + expectedProp + " vs " + actualProp).append("\n");
+ }
}
}
+ if(buf.length() != 0) {
+ Assert.fail("\n" + buf.toString());
+ }
}
[2/2] git commit: ISIS-441: enhancements to ObjectContracts...
Posted by da...@apache.org.
ISIS-441: enhancements to ObjectContracts...
... can now specify nullsLast (instead of nullsFirst) for asc and desc.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/bbf0b6c1
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/bbf0b6c1
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/bbf0b6c1
Branch: refs/heads/master
Commit: bbf0b6c1ad67bb9bc90201bf6fd4dabd7b13db8a
Parents: 1651b3f
Author: Dan Haywood <da...@apache.org>
Authored: Mon Jul 15 19:46:22 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Jul 15 19:46:22 2013 +0100
----------------------------------------------------------------------
.../isis/applib/util/ObjectContracts.java | 26 +++++++++++++++++---
.../apache/isis/applib/util/InvoiceItem.java | 2 +-
.../util/ObjectContractsTest_compareTo.java | 18 +++++++-------
3 files changed, 33 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/bbf0b6c1/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java b/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
index b253724..96a9d87 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
@@ -19,6 +19,7 @@ package org.apache.isis.applib.util;
import java.lang.reflect.Method;
import java.util.Comparator;
import java.util.List;
+import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -30,6 +31,7 @@ import com.google.common.base.Strings;
import com.google.common.collect.ComparisonChain;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
import com.google.common.collect.Ordering;
@@ -126,7 +128,7 @@ public class ObjectContracts {
}
class Clause {
- private static Pattern pattern = Pattern.compile("\\W*(\\w+)\\W*(asc|desc)?\\W*");
+ private static Pattern pattern = Pattern.compile("\\W*(\\w+)\\W*(asc|asc nullsFirst|asc nullsLast|desc|desc nullsFirst|desc nullsLast)?\\W*");
enum Direction {
ASC {
@Override
@@ -134,17 +136,35 @@ class Clause {
return Ordering.natural().nullsFirst();
}
},
+ ASC_NULLS_LAST {
+ @Override
+ public Comparator<Comparable<?>> getOrdering() {
+ return Ordering.natural().nullsLast();
+ }
+ },
DESC {
@Override
public Comparator<Comparable<?>> getOrdering() {
return Ordering.natural().nullsLast().reverse();
}
+ },
+ DESC_NULLS_LAST {
+ @Override
+ public Comparator<Comparable<?>> getOrdering() {
+ return Ordering.natural().nullsFirst().reverse();
+ }
};
-
+
public abstract Comparator<Comparable<?>> getOrdering();
public static Direction valueOfElseAsc(String str) {
- return str!=null?valueOf(str.toUpperCase()):ASC;
+ if("asc".equals(str)) return ASC;
+ if("asc nullsFirst".equals(str)) return ASC;
+ if("asc nullsLast".equals(str)) return ASC_NULLS_LAST;
+ if("desc".equals(str)) return DESC;
+ if("desc nullsFirst".equals(str)) return DESC;
+ if("desc nullsLast".equals(str)) return DESC_NULLS_LAST;
+ return ASC;
}
}
private String propertyName;
http://git-wip-us.apache.org/repos/asf/isis/blob/bbf0b6c1/core/applib/src/test/java/org/apache/isis/applib/util/InvoiceItem.java
----------------------------------------------------------------------
diff --git a/core/applib/src/test/java/org/apache/isis/applib/util/InvoiceItem.java b/core/applib/src/test/java/org/apache/isis/applib/util/InvoiceItem.java
index 792ad63..ce981d1 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/util/InvoiceItem.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/InvoiceItem.java
@@ -60,7 +60,7 @@ class InvoiceItem implements Comparable<InvoiceItem> {
this.rush = rush;
}
- private static final String KEY_PROPERTIES = "invoice desc, productCode, quantity, rush desc";
+ private static final String KEY_PROPERTIES = "invoice desc, productCode asc, quantity asc nullsLast, rush desc nullsLast";
@Override
public String toString() {
http://git-wip-us.apache.org/repos/asf/isis/blob/bbf0b6c1/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_compareTo.java
----------------------------------------------------------------------
diff --git a/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_compareTo.java b/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_compareTo.java
index dc666b5..015a2ff 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_compareTo.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_compareTo.java
@@ -52,25 +52,25 @@ public class ObjectContractsTest_compareTo extends ComparableContractTest_compar
,InvoiceItem.newInvoiceItem(inv123, null, null, null)
)
,listOf(
- // ..., productCode, ...
+ // ..., productCode asc, ...
InvoiceItem.newInvoiceItem(inv123, null, null, null)
,InvoiceItem.newInvoiceItem(inv123, "A", null, null)
,InvoiceItem.newInvoiceItem(inv123, "A", null, null)
,InvoiceItem.newInvoiceItem(inv123, "B", null, null)
)
,listOf(
- // ..., quantity
- InvoiceItem.newInvoiceItem(inv123, "A", null, null)
- ,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), null)
- ,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), null)
+ // ..., quantity asc nullsLast,...
+ InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), null)
+ ,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(2), null)
,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(2), null)
+ ,InvoiceItem.newInvoiceItem(inv123, "A", null, null)
)
,listOf(
- // ..., rush desc
- InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), null)
- ,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), true)
- ,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), true)
+ // ..., rush desc nullsLast
+ InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), true)
,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), false)
+ ,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), false)
+ ,InvoiceItem.newInvoiceItem(inv123, "A", new Integer(1), null)
)
);
}