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)
                            )
                 );
     }