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/11/03 16:11:51 UTC

incubator-tinkerpop git commit: cleaned up mean() and added test cases to verify that we get the correct return types

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/TINKERPOP3-909 baf2ae04c -> af4f5dc1d


cleaned up mean() and added test cases to verify that we get the correct return types


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

Branch: refs/heads/TINKERPOP3-909
Commit: af4f5dc1d945da632998f4c490e5b946edb4d64f
Parents: baf2ae0
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue Nov 3 16:11:27 2015 +0100
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue Nov 3 16:11:27 2015 +0100

----------------------------------------------------------------------
 .../process/traversal/dsl/graph/GraphTraversal.java   | 12 ++++++------
 .../traversal/step/map/MeanGlobalStepTest.java        | 14 ++++++++++++++
 .../process/traversal/step/map/MeanLocalStepTest.java | 14 ++++++++++++++
 3 files changed, 34 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/af4f5dc1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index f1028a2..97d0c53 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -617,7 +617,7 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
     }
 
     public default <E2 extends Number> GraphTraversal<S, E2> sum(final Scope scope) {
-        return this.asAdmin().addStep(scope.equals(Scope.global) ? new SumGlobalStep(this.asAdmin()) : new SumLocalStep(this.asAdmin()));
+        return this.asAdmin().addStep(scope.equals(Scope.global) ? new SumGlobalStep<>(this.asAdmin()) : new SumLocalStep(this.asAdmin()));
     }
 
     public default <E2 extends Number> GraphTraversal<S, E2> max() {
@@ -625,7 +625,7 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
     }
 
     public default <E2 extends Number> GraphTraversal<S, E2> max(final Scope scope) {
-        return this.asAdmin().addStep(scope.equals(Scope.global) ? new MaxGlobalStep<E2>(this.asAdmin()) : new MaxLocalStep(this.asAdmin()));
+        return this.asAdmin().addStep(scope.equals(Scope.global) ? new MaxGlobalStep<>(this.asAdmin()) : new MaxLocalStep(this.asAdmin()));
     }
 
     public default <E2 extends Number> GraphTraversal<S, E2> min() {
@@ -633,15 +633,15 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
     }
 
     public default <E2 extends Number> GraphTraversal<S, E2> min(final Scope scope) {
-        return this.asAdmin().addStep(scope.equals(Scope.global) ? new MinGlobalStep<E2>(this.asAdmin()) : new MinLocalStep(this.asAdmin()));
+        return this.asAdmin().addStep(scope.equals(Scope.global) ? new MinGlobalStep<>(this.asAdmin()) : new MinLocalStep(this.asAdmin()));
     }
 
-    public default GraphTraversal<S, Double> mean() {
+    public default <E2 extends Number> GraphTraversal<S, E2> mean() {
         return this.mean(Scope.global);
     }
 
-    public default GraphTraversal<S, Double> mean(final Scope scope) {
-        return this.asAdmin().addStep(scope.equals(Scope.global) ? new MeanGlobalStep<>(this.asAdmin()) : new MeanLocalStep<>(this.asAdmin()));
+    public default <E2 extends Number> GraphTraversal<S, E2> mean(final Scope scope) {
+        return this.asAdmin().addStep(scope.equals(Scope.global) ? new MeanGlobalStep<>(this.asAdmin()) : new MeanLocalStep(this.asAdmin()));
     }
 
     public default <K, V> GraphTraversal<S, Map<K, V>> group() {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/af4f5dc1/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanGlobalStepTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanGlobalStepTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanGlobalStepTest.java
index f0a5490..be7dd5c 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanGlobalStepTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanGlobalStepTest.java
@@ -21,10 +21,15 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.process.traversal.step.StepTest;
+import org.junit.Test;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * @author Daniel Kuppitz (http://gremlin.guru)
  */
@@ -34,4 +39,13 @@ public class MeanGlobalStepTest extends StepTest {
     protected List<Traversal> getTraversals() {
         return Collections.singletonList(__.mean());
     }
+
+    @Test
+    public void testReturnTypes() {
+        assertEquals(3d, __.__(2, 4).mean().next());
+        assertEquals(3d, __.__((short) 2, (short) 4).mean().next()); // why? because the internal counter is a Long value
+        assertEquals(BigDecimal.ONE, __.__(BigInteger.ONE, BigInteger.ONE).mean().next());
+        assertEquals(BigDecimal.ONE, __.__((short) 1, BigInteger.ONE).mean().next());
+        assertEquals(BigDecimal.ONE, __.__(BigInteger.ONE, (short) 1).mean().next());
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/af4f5dc1/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanLocalStepTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanLocalStepTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanLocalStepTest.java
index 5f317f6..cf267d3 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanLocalStepTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanLocalStepTest.java
@@ -22,10 +22,15 @@ import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.process.traversal.step.StepTest;
+import org.junit.Test;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * @author Daniel Kuppitz (http://gremlin.guru)
  */
@@ -35,4 +40,13 @@ public class MeanLocalStepTest extends StepTest {
     protected List<Traversal> getTraversals() {
         return Collections.singletonList(__.mean(Scope.local));
     }
+
+    @Test
+    public void testReturnTypes() {
+        assertEquals(3d, __.__(2, 4).fold().mean(Scope.local).next());
+        assertEquals(3d, __.__((short) 2, (short) 4).fold().mean(Scope.local).next()); // why? because the internal counter is a Long value
+        assertEquals(BigDecimal.ONE, __.__(BigInteger.ONE, BigInteger.ONE).fold().mean(Scope.local).next());
+        assertEquals(BigDecimal.ONE, __.__((short) 1, BigInteger.ONE).fold().mean(Scope.local).next());
+        assertEquals(BigDecimal.ONE, __.__(BigInteger.ONE, (short) 1).fold().mean(Scope.local).next());
+    }
 }