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

[3/7] incubator-tinkerpop git commit: more testing around hashing and equality.

more testing around hashing and equality.


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

Branch: refs/heads/TINKERPOP3-581
Commit: 5575ab6e9c45db7195a7da19d646f68952a960fe
Parents: ce33a05
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Apr 9 13:25:51 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Apr 9 13:25:51 2015 -0600

----------------------------------------------------------------------
 .../structure/util/detached/DetachedEdgeTest.java | 17 +++++++++++++++++
 .../util/detached/DetachedVertexTest.java         | 15 +++++++++++++++
 .../util/reference/ReferenceEdgeTest.java         | 16 ++++++++++++++++
 .../util/reference/ReferenceVertexTest.java       | 15 +++++++++++++++
 .../structure/util/star/StarGraphTest.java        | 18 ++++++++++++++++++
 5 files changed, 81 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java
index 12cba03..eaf62b1 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java
@@ -26,13 +26,16 @@ import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory;
 import org.apache.tinkerpop.gremlin.util.StreamFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.javatuples.Pair;
 import org.junit.Test;
 
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData;
 import static org.junit.Assert.*;
@@ -44,6 +47,20 @@ public class DetachedEdgeTest extends AbstractGremlinTest {
 
     @Test
     @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    public void shouldHashAndEqualCorrectly() {
+        final Vertex v = graph.addVertex();
+        final Edge e = v.addEdge("test", v);
+        final Set<Edge> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(DetachedFactory.detach(e,true));
+            set.add(DetachedFactory.detach(e,false));
+            set.add(e);
+        }
+        assertEquals(1, set.size());
+    }
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
     public void shouldNotConstructNewWithSomethingAlreadyDetached() {
         final Vertex v = graph.addVertex();
         final Edge e = v.addEdge("test", v);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java
index 98fe1ac..46542f8 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java
@@ -31,8 +31,10 @@ import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import static org.junit.Assert.*;
 
@@ -43,6 +45,19 @@ public class DetachedVertexTest extends AbstractGremlinTest {
 
     @Test
     @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+    public void shouldHashAndEqualCorrectly() {
+        final Vertex v = graph.addVertex();
+        final Set<Vertex> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(DetachedFactory.detach(v, true));
+            set.add(DetachedFactory.detach(v, false));
+            set.add(v);
+        }
+        assertEquals(1, set.size());
+    }
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
     public void shouldNotConstructNewWithSomethingAlreadyDetached() {
         final Vertex v = graph.addVertex();
         final DetachedVertex dv = DetachedFactory.detach(v, true);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
index 9857fa0..616d26e 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
@@ -33,6 +33,9 @@ import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Test;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import static org.junit.Assert.*;
 
 /**
@@ -42,6 +45,19 @@ public class ReferenceEdgeTest extends AbstractGremlinTest {
 
     @Test
     @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    public void shouldHashAndEqualCorrectly() {
+        final Vertex v = graph.addVertex();
+        final Edge e = v.addEdge("test", v);
+        final Set<Edge> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(ReferenceFactory.detach(e));
+            set.add(e);
+        }
+        assertEquals(1, set.size());
+    }
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
     public void shouldNotConstructNewWithSomethingAlreadyReferenced() {
         final Vertex v = graph.addVertex();
         final Edge e = v.addEdge("test", v);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
index f621fa7..575d151 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
@@ -32,6 +32,9 @@ import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Test;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import static org.junit.Assert.*;
 
 /**
@@ -41,6 +44,18 @@ public class ReferenceVertexTest extends AbstractGremlinTest {
 
     @Test
     @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+    public void shouldHashAndEqualCorrectly() {
+        final Vertex v = graph.addVertex();
+        final Set<Vertex> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(ReferenceFactory.detach(v));
+            set.add(v);
+        }
+        assertEquals(1, set.size());
+    }
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
     public void shouldNotConstructNewWithSomethingAlreadyDetached() {
         final Vertex v = graph.addVertex();
         final ReferenceVertex referenceVertex = ReferenceFactory.detach(v);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
index eedde68..c9db32d 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
@@ -26,11 +26,14 @@ import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Test;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.junit.Assert.assertEquals;
@@ -42,6 +45,21 @@ public class StarGraphTest extends AbstractGremlinTest {
 
     @Test
     @LoadGraphWith(LoadGraphWith.GraphData.CREW)
+    public void shouldHashAndEqualsCorrectly() {
+        final Vertex gremlin = g.V(convertToVertexId("gremlin")).next();
+        final StarGraph starGraph = StarGraph.of(gremlin);
+        final StarGraph.StarVertex gremlinStar = starGraph.getStarVertex();
+        final Set<Vertex> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(gremlin);
+            set.add(gremlinStar);
+        }
+        assertEquals(1, set.size());
+    }
+
+
+    @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.CREW)
     public void originalAndStarVerticesShouldHaveTheSameTopology() {
         final Vertex gremlin = g.V(convertToVertexId("gremlin")).next();
         final StarGraph starGraph = StarGraph.of(gremlin);