You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2015/04/30 22:03:13 UTC

[1/2] incubator-tinkerpop git commit: Relaxed number comparisons for Compare.[gt, lt, gte, lte] and added more test cases in CompareTest

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master 08617c5e0 -> 96e1219e0


Relaxed number comparisons for Compare.[gt,lt,gte,lte] and added more test cases in CompareTest


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/c42e5bc8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/c42e5bc8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/c42e5bc8

Branch: refs/heads/master
Commit: c42e5bc8f2fd39573d1f6bd30e152fbbae5ecd4a
Parents: 250b27d
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Thu Apr 30 22:02:40 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Apr 30 22:02:40 2015 +0200

----------------------------------------------------------------------
 .../tinkerpop/gremlin/structure/Compare.java    | 25 +++++++++-------
 .../gremlin/structure/CompareTest.java          | 30 +++++++++++++-------
 2 files changed, 35 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/c42e5bc8/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Compare.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Compare.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Compare.java
index 8184381..df9f612 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Compare.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Compare.java
@@ -31,11 +31,10 @@ public enum Compare implements BiPredicate<Object, Object> {
     eq {
         @Override
         public boolean test(final Object first, final Object second) {
-            if (null == first)
-                return second == null;
-            return first instanceof Number && second instanceof Number && !first.getClass().equals(second.getClass())
+            return null == first ? null == second : (first instanceof Number && second instanceof Number
+                    && !first.getClass().equals(second.getClass())
                     ? ((Number) first).doubleValue() == ((Number) second).doubleValue()
-                    : first.equals(second);
+                    : first.equals(second));
         }
 
         @Override
@@ -55,7 +54,10 @@ public enum Compare implements BiPredicate<Object, Object> {
     }, gt {
         @Override
         public boolean test(final Object first, final Object second) {
-            return !(null == first || second == null) && ((Comparable) first).compareTo(second) >= 1;
+            return null != first && null != second && (
+                    first instanceof Number && second instanceof Number && !first.getClass().equals(second.getClass())
+                            ? ((Number) first).doubleValue() > ((Number) second).doubleValue()
+                            : ((Comparable) first).compareTo(second) > 0);
         }
 
         @Override
@@ -65,7 +67,7 @@ public enum Compare implements BiPredicate<Object, Object> {
     }, gte {
         @Override
         public boolean test(final Object first, final Object second) {
-            return !(null == first || second == null) && ((Comparable) first).compareTo(second) >= 0;
+            return null == first ? null == second : (null != second && !lt.test(first, second));
         }
 
         @Override
@@ -75,7 +77,10 @@ public enum Compare implements BiPredicate<Object, Object> {
     }, lt {
         @Override
         public boolean test(final Object first, final Object second) {
-            return !(null == first || second == null) && ((Comparable) first).compareTo(second) <= -1;
+            return null != first && null != second && (
+                    first instanceof Number && second instanceof Number && !first.getClass().equals(second.getClass())
+                            ? ((Number) first).doubleValue() < ((Number) second).doubleValue()
+                            : ((Comparable) first).compareTo(second) < 0);
         }
 
         @Override
@@ -85,7 +90,7 @@ public enum Compare implements BiPredicate<Object, Object> {
     }, lte {
         @Override
         public boolean test(final Object first, final Object second) {
-            return !(null == first || second == null) && ((Comparable) first).compareTo(second) <= 0;
+            return null == first ? null == second : (null != second && !gt.test(first, second));
         }
 
         @Override
@@ -97,8 +102,8 @@ public enum Compare implements BiPredicate<Object, Object> {
     /**
      * {@inheritDoc}
      */
-    @Override
-    public abstract boolean test(final Object first, final Object second);
+    /*@Override
+    public abstract boolean test(final Object first, final Object second);*/
 
     /**
      * Produce the opposite representation of the current {@code Compare} enum.

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/c42e5bc8/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/CompareTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/CompareTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/CompareTest.java
index 81546f5..06dcafc 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/CompareTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/CompareTest.java
@@ -22,7 +22,11 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 import static org.junit.Assert.assertEquals;
 
@@ -34,11 +38,11 @@ public class CompareTest {
 
     @Parameterized.Parameters(name = "{0}.test({1},{2}) = {3}")
     public static Iterable<Object[]> data() {
-        return Arrays.asList(new Object[][]{
+        final List<Object> one = Arrays.asList(1, 1l, 1d, 1f, BigDecimal.ONE, BigInteger.ONE);
+        final List<Object[]> testCases = new ArrayList<>(Arrays.asList(new Object[][]{
                 {Compare.eq, null, null, true},
                 {Compare.eq, null, 1, false},
                 {Compare.eq, 1, null, false},
-                {Compare.eq, 1, 1, true},
                 {Compare.eq, "1", "1", true},
                 {Compare.eq, 100, 99, false},
                 {Compare.eq, 100, 101, false},
@@ -47,7 +51,6 @@ public class CompareTest {
                 {Compare.neq, null, null, false},
                 {Compare.neq, null, 1, true},
                 {Compare.neq, 1, null, true},
-                {Compare.neq, 1, 1, false},
                 {Compare.neq, "1", "1", false},
                 {Compare.neq, 100, 99, true},
                 {Compare.neq, 100, 101, true},
@@ -56,7 +59,6 @@ public class CompareTest {
                 {Compare.gt, null, null, false},
                 {Compare.gt, null, 1, false},
                 {Compare.gt, 1, null, false},
-                {Compare.gt, 1, 1, false},
                 {Compare.gt, "1", "1", false},
                 {Compare.gt, 100, 99, true},
                 {Compare.gt, 100, 101, false},
@@ -65,31 +67,39 @@ public class CompareTest {
                 {Compare.lt, null, null, false},
                 {Compare.lt, null, 1, false},
                 {Compare.lt, 1, null, false},
-                {Compare.lt, 1, 1, false},
                 {Compare.lt, "1", "1", false},
                 {Compare.lt, 100, 99, false},
                 {Compare.lt, 100, 101, true},
                 {Compare.lt, "z", "a", false},
                 {Compare.lt, "a", "z", true},
-                {Compare.gte, null, null, false},
+                {Compare.gte, null, null, true},
                 {Compare.gte, null, 1, false},
                 {Compare.gte, 1, null, false},
-                {Compare.gte, 1, 1, true},
                 {Compare.gte, "1", "1", true},
                 {Compare.gte, 100, 99, true},
                 {Compare.gte, 100, 101, false},
                 {Compare.gte, "z", "a", true},
                 {Compare.gte, "a", "z", false},
-                {Compare.lte, null, null, false},
+                {Compare.lte, null, null, true},
                 {Compare.lte, null, 1, false},
                 {Compare.lte, 1, null, false},
-                {Compare.lte, 1, 1, true},
                 {Compare.lte, "1", "1", true},
                 {Compare.lte, 100, 99, false},
                 {Compare.lte, 100, 101, true},
                 {Compare.lte, "z", "a", false},
                 {Compare.lte, "a", "z", true}
-        });
+        }));
+        for (int i = 0; i < one.size(); i++) {
+            for (int j = 0; j < one.size(); j++) {
+                testCases.add(new Object[]{Compare.eq, one.get(i), one.get(j), true});
+                testCases.add(new Object[]{Compare.neq, one.get(i), one.get(j), false});
+                testCases.add(new Object[]{Compare.gt, one.get(i), one.get(j), false});
+                testCases.add(new Object[]{Compare.lt, one.get(i), one.get(j), false});
+                testCases.add(new Object[]{Compare.gte, one.get(i), one.get(j), true});
+                testCases.add(new Object[]{Compare.lte, one.get(i), one.get(j), true});
+            }
+        }
+        return testCases;
     }
 
     @Parameterized.Parameter(value = 0)


[2/2] incubator-tinkerpop git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-tinkerpop

Posted by dk...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-tinkerpop


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/96e1219e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/96e1219e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/96e1219e

Branch: refs/heads/master
Commit: 96e1219e0db8c1a67ff42411f5d6a362952d86dc
Parents: c42e5bc 08617c5
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Thu Apr 30 22:02:49 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Apr 30 22:02:49 2015 +0200

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |   3 +
 NOTICE                                          |   9 +-
 .../traversal/TraversalScriptSupplier.java      |  15 +-
 .../traversal/TraversalVertexProgram.java       |   4 +-
 .../traversal/VertexTraversalSideEffects.java   |  13 +-
 .../process/traversal/TraversalSideEffects.java |  51 +----
 .../gremlin/process/traversal/Traverser.java    |   2 +-
 .../traversal/step/filter/ExceptStep.java       |   2 +-
 .../traversal/step/filter/RetainStep.java       |   2 +-
 .../step/sideEffect/AggregateStep.java          |  16 +-
 .../sideEffect/GroupCountSideEffectStep.java    |  12 +-
 .../step/sideEffect/GroupSideEffectStep.java    |  17 +-
 .../traversal/step/sideEffect/ProfileStep.java  |  16 +-
 .../step/sideEffect/SideEffectCapStep.java      |  22 +--
 .../traversal/step/sideEffect/StoreStep.java    |  12 +-
 .../step/sideEffect/TreeSideEffectStep.java     |   2 +-
 .../util/DefaultTraversalSideEffects.java       |  27 +--
 .../util/EmptyTraversalSideEffects.java         |   4 +-
 .../tinkerpop/gremlin/structure/Element.java    |   2 +-
 .../gremlin/structure/io/graphml/GraphMLIo.java |  20 ++
 .../structure/io/graphml/GraphMLMapper.java     |   4 +
 .../structure/io/graphml/GraphMLReader.java     |  35 ++++
 .../structure/io/graphml/GraphMLWriter.java     |  40 ++++
 .../io/graphml/GraphMLWriterHelper.java         | 190 ++++++++-----------
 .../structure/io/graphson/GraphSONIo.java       |  18 ++
 .../structure/io/graphson/GraphSONMapper.java   |  12 +-
 .../structure/io/graphson/GraphSONModule.java   |  10 +-
 .../structure/io/graphson/GraphSONReader.java   |  63 +++++-
 .../structure/io/graphson/GraphSONWriter.java   |  35 ++--
 .../io/graphson/LegacyGraphSONReader.java       |  35 ++++
 .../gremlin/structure/io/gryo/GryoMapper.java   |  11 +-
 .../gremlin/structure/io/gryo/GryoReader.java   |   5 +-
 .../process/computer/ComputerTestHelper.groovy  |  11 +-
 .../step/branch/GroovyLocalTest.groovy          |  19 +-
 .../step/branch/GroovyRepeatTest.groovy         |  12 +-
 .../step/branch/GroovyUnionTest.groovy          |  10 +-
 .../step/filter/GroovyCyclicPathTest.groovy     |   8 +-
 .../step/filter/GroovyExceptTest.groovy         |  12 +-
 .../step/filter/GroovyFilterTest.groovy         |   6 +-
 .../step/filter/GroovyHasNotTest.groovy         |   4 +-
 .../traversal/step/filter/GroovyHasTest.groovy  |  29 +--
 .../traversal/step/filter/GroovyIsTest.groovy   |  10 +-
 .../step/filter/GroovyRetainTest.groovy         |  10 +-
 .../step/filter/GroovySimplePathTest.groovy     |   6 +-
 .../step/map/GroovyCoalesceTest.groovy          |   8 +-
 .../traversal/step/map/GroovyMapTest.groovy     |   8 +-
 .../traversal/step/map/GroovyPathTest.groovy    |   6 +-
 .../step/map/GroovyPropertiesTest.groovy        |   8 +-
 .../traversal/step/map/GroovySelectTest.groovy  |  18 +-
 .../step/map/GroovyValueMapTest.groovy          |   6 +-
 .../traversal/step/map/GroovyVertexTest.groovy  |  51 ++---
 .../server/op/AbstractEvalOpProcessor.java      |   2 +-
 .../traversal/TraversalSideEffectsTest.java     |   6 +-
 .../traversal/step/branch/UnionTest.java        |   3 +-
 .../traversal/step/sideEffect/ProfileTest.java  |  10 +-
 .../step/sideEffect/SideEffectTest.java         |   4 +-
 .../traversal/step/sideEffect/SubgraphTest.java |   2 +-
 57 files changed, 559 insertions(+), 419 deletions(-)
----------------------------------------------------------------------