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/04/09 19:51:01 UTC
incubator-tinkerpop git commit: added ReferenceVertexTest which
borrows alot from DetachedVertexTest. Added some pretty crucial checks to
DeatchedVertexTest.
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/master 4a83d90ea -> f4fe78d95
added ReferenceVertexTest which borrows alot from DetachedVertexTest. Added some pretty crucial checks to DeatchedVertexTest.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/f4fe78d9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/f4fe78d9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/f4fe78d9
Branch: refs/heads/master
Commit: f4fe78d950e6d995d9c791ba35dc2b7b5eca417a
Parents: 4a83d90
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Apr 9 11:51:16 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Apr 9 11:51:16 2015 -0600
----------------------------------------------------------------------
.../structure/StructureStandardSuite.java | 4 +
.../util/detached/DetachedVertexTest.java | 3 +-
.../util/reference/ReferenceVertexTest.java | 159 +++++++++++++++++++
.../structure/util/star/StarGraphTest.java | 43 +++++
4 files changed, 208 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f4fe78d9/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java
index 8044a85..10645df 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java
@@ -25,6 +25,8 @@ import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdgeTest;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedPropertyTest;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertexPropertyTest;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertexTest;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertexTest;
+import org.apache.tinkerpop.gremlin.structure.util.star.StarGraphTest;
import org.junit.runners.model.InitializationError;
import org.junit.runners.model.RunnerBuilder;
@@ -77,7 +79,9 @@ public class StructureStandardSuite extends AbstractGremlinSuite {
VertexPropertyTest.class,
VariablesTest.class,
PropertyTest.class,
+ ReferenceVertexTest.class,
SerializationTest.class,
+ StarGraphTest.class,
TransactionTest.class,
VertexTest.class
};
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f4fe78d9/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 5041892..98fe1ac 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
@@ -33,7 +33,6 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
import static org.junit.Assert.*;
@@ -107,12 +106,14 @@ public class DetachedVertexTest extends AbstractGremlinTest {
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
public void shouldEvaluateToEqual() {
assertTrue(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true).equals(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true)));
+ assertTrue(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true).equals(g.V(convertToVertexId("marko")).next()));
}
@Test
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
public void shouldHaveSameHashCode() {
assertEquals(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true).hashCode(), DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true).hashCode());
+ assertEquals(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true).hashCode(), g.V(convertToVertexId("marko")).next().hashCode());
}
@Test
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f4fe78d9/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
new file mode 100644
index 0000000..5250c39
--- /dev/null
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
@@ -0,0 +1,159 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.structure.util.reference;
+
+import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
+import org.apache.tinkerpop.gremlin.FeatureRequirement;
+import org.apache.tinkerpop.gremlin.FeatureRequirementSet;
+import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
+import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public class ReferenceVertexTest extends AbstractGremlinTest {
+
+ @Test
+ @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+ public void shouldNotConstructNewWithSomethingAlreadyDetached() {
+ final Vertex v = graph.addVertex();
+ final ReferenceVertex referenceVertex = ReferenceFactory.detach(v);
+ assertSame(referenceVertex, ReferenceFactory.detach(referenceVertex));
+ }
+
+ @Test
+ @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+ public void shouldConstructReferenceVertex() {
+ final Vertex v = graph.addVertex("test", "123");
+ final ReferenceVertex referenceVertex = ReferenceFactory.detach(v);
+
+ assertEquals(v.id(), referenceVertex.id());
+ assertEquals(0, IteratorUtils.count(referenceVertex.properties()));
+ }
+
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ public void shouldEvaluateToEqualForVerticesAndDetachments() {
+ assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
+ assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(g.V(convertToVertexId("marko")).next()));
+ assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), false)));
+ // reverse
+ assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next().equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()))));
+ assertTrue(g.V(convertToVertexId("marko")).next().equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
+ assertTrue(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), false).equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
+
+ }
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ public void shouldHaveSameHashCode() {
+ assertEquals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).hashCode(), ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).hashCode());
+ assertEquals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).hashCode(), g.V(convertToVertexId("marko")).next().hashCode());
+ assertEquals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).hashCode(), DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), false).hashCode());
+ assertEquals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).hashCode(), DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true).hashCode());
+ }
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ public void shouldAttachToGraph() {
+ final Vertex v = g.V(convertToVertexId("josh")).next();
+ final ReferenceVertex referenceVertex = ReferenceFactory.detach(v);
+ final Vertex attachedV = referenceVertex.attach(graph);
+
+ assertEquals(v, attachedV);
+ assertFalse(attachedV instanceof ReferenceVertex);
+ }
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ public void shouldAttachToVertex() {
+ final Vertex v = g.V(convertToVertexId("josh")).next();
+ final ReferenceVertex referenceVertex = ReferenceFactory.detach(v);
+ final Vertex attachedV = referenceVertex.attach(v);
+
+ assertEquals(v, attachedV);
+ assertFalse(attachedV instanceof ReferenceVertex);
+ }
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+ @FeatureRequirement(featureClass = Graph.Features.EdgePropertyFeatures.class, feature = Graph.Features.EdgePropertyFeatures.FEATURE_INTEGER_VALUES)
+ public void shouldNotEvaluateToEqualDifferentId() {
+ final ReferenceVertex originalMarko = ReferenceFactory.detach(g.V(convertToVertexId("marko")).next());
+ final Vertex secondMarko = graph.addVertex("name", "marko", "age", 29);
+ assertFalse(ReferenceFactory.detach(secondMarko).equals(originalMarko));
+ }
+
+ @Test(expected = IllegalStateException.class)
+ @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+ public void shouldNotAllowAddEdge() {
+ final Vertex v = graph.addVertex();
+ final ReferenceVertex rv = ReferenceFactory.detach(v);
+ rv.addEdge("test", null);
+ }
+
+ @Test(expected = IllegalStateException.class)
+ @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+ public void shouldNotAllowSetProperty() {
+ final Vertex v = graph.addVertex();
+ final ReferenceVertex rv = ReferenceFactory.detach(v);
+ rv.property("test", "test");
+ }
+
+ @Test(expected = IllegalStateException.class)
+ @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+ public void shouldNotAllowRemove() {
+ final Vertex v = graph.addVertex();
+ final ReferenceVertex rv = ReferenceFactory.detach(v);
+ rv.remove();
+ }
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ public void shouldNotHaveAnyProperties() {
+ final ReferenceVertex rv = ReferenceFactory.detach(g.V(convertToVertexId("marko")).next());
+ assertFalse(rv.properties().hasNext());
+ }
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ public void shouldNotHaveAnyEdges() {
+ final ReferenceVertex rv = ReferenceFactory.detach(g.V(convertToVertexId("marko")).next());
+ assertFalse(rv.edges(Direction.BOTH).hasNext());
+ }
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ public void shouldNotHaveAnyVertices() {
+ final ReferenceVertex rv = ReferenceFactory.detach(g.V(convertToVertexId("marko")).next());
+ assertFalse(rv.vertices(Direction.BOTH).hasNext());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f4fe78d9/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
new file mode 100644
index 0000000..a2e19c7
--- /dev/null
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
@@ -0,0 +1,43 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.structure.util.star;
+
+import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
+import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public class StarGraphTest extends AbstractGremlinTest {
+
+ @Test
+ @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+ public void shouldEvaluateToEqual() {
+ assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
+ assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(g.V(convertToVertexId("marko")).next()));
+ assertTrue(g.V(convertToVertexId("marko")).next().equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
+ }
+}