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(-)
----------------------------------------------------------------------