You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/02/11 03:50:10 UTC
[3/5] incubator-tinkerpop git commit: fixed ComputerTest for
RangeByIsCountStrategy
fixed ComputerTest for RangeByIsCountStrategy
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/f8bfafc5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/f8bfafc5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/f8bfafc5
Branch: refs/heads/master
Commit: f8bfafc569fb147bcb6b711469743774f1e172c0
Parents: a71fdbd
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Feb 11 02:56:20 2015 +0100
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Feb 11 02:56:20 2015 +0100
----------------------------------------------------------------------
.../traversal/step/map/ComputerResultStep.java | 4 +++
.../strategy/RangeByIsCountStrategyTest.java | 29 +++++++++++++-------
2 files changed, 23 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f8bfafc5/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/computer/traversal/step/map/ComputerResultStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/computer/traversal/step/map/ComputerResultStep.java b/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/computer/traversal/step/map/ComputerResultStep.java
index 54b119e..39e3de4 100644
--- a/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/computer/traversal/step/map/ComputerResultStep.java
+++ b/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/computer/traversal/step/map/ComputerResultStep.java
@@ -92,4 +92,8 @@ public final class ComputerResultStep<S> extends AbstractStep<S, S> {
public Set<TraverserRequirement> getRequirements() {
return this.computerTraversal.getTraverserRequirements();
}
+
+ public Traversal.Admin<?, ?> getComputerTraversal() {
+ return this.computerTraversal;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f8bfafc5/gremlin-test/src/main/java/com/tinkerpop/gremlin/process/graph/traversal/strategy/RangeByIsCountStrategyTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/com/tinkerpop/gremlin/process/graph/traversal/strategy/RangeByIsCountStrategyTest.java b/gremlin-test/src/main/java/com/tinkerpop/gremlin/process/graph/traversal/strategy/RangeByIsCountStrategyTest.java
index ea1662d..d840fa7 100644
--- a/gremlin-test/src/main/java/com/tinkerpop/gremlin/process/graph/traversal/strategy/RangeByIsCountStrategyTest.java
+++ b/gremlin-test/src/main/java/com/tinkerpop/gremlin/process/graph/traversal/strategy/RangeByIsCountStrategyTest.java
@@ -22,15 +22,18 @@ package com.tinkerpop.gremlin.process.graph.traversal.strategy;
import com.tinkerpop.gremlin.LoadGraphWith;
import com.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
import com.tinkerpop.gremlin.process.Traversal;
+import com.tinkerpop.gremlin.process.computer.traversal.step.map.ComputerResultStep;
+import com.tinkerpop.gremlin.process.graph.traversal.__;
+import com.tinkerpop.gremlin.process.graph.traversal.step.filter.HasTraversalStep;
import com.tinkerpop.gremlin.process.graph.traversal.step.filter.RangeStep;
import com.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
import com.tinkerpop.gremlin.structure.Compare;
+import org.junit.Ignore;
import org.junit.Test;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.BiPredicate;
-import java.util.stream.Stream;
import static com.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
import static org.junit.Assert.assertEquals;
@@ -40,15 +43,11 @@ import static org.junit.Assert.assertEquals;
*/
public abstract class RangeByIsCountStrategyTest extends AbstractGremlinProcessTest {
- final Traversal generateTraversal(final BiPredicate predicate, final Object value) {
- return g.V().count().is(predicate, value);
- }
-
public static class StandardTest extends RangeByIsCountStrategyTest {
private void runTest(final BiPredicate predicate, final Object value, final long expectedHighRange) {
final AtomicInteger counter = new AtomicInteger(0);
- Traversal traversal = generateTraversal(predicate, value);
+ Traversal traversal = g.V().count().is(predicate, value);
traversal.iterate();
TraversalHelper.getStepsOfClass(RangeStep.class, traversal.asAdmin()).stream().forEach(step -> {
assertEquals(0, step.getLowRange());
@@ -109,11 +108,21 @@ public abstract class RangeByIsCountStrategyTest extends AbstractGremlinProcessT
public static class ComputerTest extends RangeByIsCountStrategyTest {
@Test
+ @Ignore // TODO: include when #558 is solved
@LoadGraphWith(MODERN)
- public void shouldNotModifyTheTraversal() {
- final Traversal traversal = generateTraversal(Compare.eq, 0l).submit(g.compute()).iterate();
- final Stream<RangeStep> rangeSteps = TraversalHelper.getStepsOfClass(RangeStep.class, traversal.asAdmin()).stream();
- assertEquals(0, rangeSteps.count());
+ public void nestedCountEqualsNullShouldLimitToOne() {
+ final AtomicInteger counter = new AtomicInteger(0);
+ final Traversal traversal = g.V().has(__.outE("created").count().is(0)).submit(g.compute()).iterate();
+ final ComputerResultStep crs = (ComputerResultStep) traversal.asAdmin().getSteps().iterator().next();
+ final Traversal ct = crs.getComputerTraversal();
+ final HasTraversalStep hasStep = TraversalHelper.getStepsOfClass(HasTraversalStep.class, ct.asAdmin()).stream().findFirst().get();
+ final Traversal nestedTraversal = (Traversal) hasStep.getLocalChildren().get(0);
+ TraversalHelper.getStepsOfClass(RangeStep.class, nestedTraversal.asAdmin()).stream().forEach(step -> {
+ assertEquals(0, step.getLowRange());
+ assertEquals(1, step.getHighRange());
+ counter.incrementAndGet();
+ });
+ assertEquals(1, counter.get());
}
}
}