in gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoTest.java [907:1174]
public static void assertCrewGraph(final Graph g1, final boolean lossyForId) {
assertEquals(new Long(6), g1.traversal().V().count().next());
assertEquals(new Long(14), g1.traversal().E().count().next());
final Vertex v1 = (Vertex) g1.traversal().V().has("name", "marko").next();
assertEquals("person", v1.label());
assertEquals(2, v1.keys().size());
assertEquals(4, (int) IteratorUtils.count(v1.properties("location")));
v1.properties("location").forEachRemaining(vp -> {
if (vp.value().equals("san diego")) {
assertEquals(1997, (int) vp.value("startTime"));
assertEquals(2001, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("santa cruz")) {
assertEquals(2001, (int) vp.value("startTime"));
assertEquals(2004, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("brussels")) {
assertEquals(2004, (int) vp.value("startTime"));
assertEquals(2005, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("santa fe")) {
assertEquals(2005, (int) vp.value("startTime"));
assertEquals(1, (int) IteratorUtils.count(vp.properties()));
} else {
fail("Found a value that should be there");
}
});
assertId(g1, lossyForId, v1, 1);
final List<Edge> v1Edges = IteratorUtils.list(v1.edges(Direction.BOTH));
assertEquals(4, v1Edges.size());
v1Edges.forEach(e -> {
if (e.inVertex().value("name").equals("gremlin") && e.label().equals("develops")) {
assertEquals(2009, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 13);
} else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("develops")) {
assertEquals(2010, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 14);
} else if (e.inVertex().value("name").equals("gremlin") && e.label().equals("uses")) {
assertEquals(4, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 15);
} else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("uses")) {
assertEquals(5, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 16);
} else {
fail("Edge not expected");
}
});
final Vertex v7 = (Vertex) g1.traversal().V().has("name", "stephen").next();
assertEquals("person", v7.label());
assertEquals(2, v7.keys().size());
assertEquals(3, (int) IteratorUtils.count(v7.properties("location")));
v7.properties("location").forEachRemaining(vp -> {
if (vp.value().equals("centreville")) {
assertEquals(1990, (int) vp.value("startTime"));
assertEquals(2000, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("dulles")) {
assertEquals(2000, (int) vp.value("startTime"));
assertEquals(2006, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("purcellville")) {
assertEquals(2006, (int) vp.value("startTime"));
assertEquals(1, (int) IteratorUtils.count(vp.properties()));
} else {
fail("Found a value that should be there");
}
});
assertId(g1, lossyForId, v7, 7);
final List<Edge> v7Edges = IteratorUtils.list(v7.edges(Direction.BOTH));
assertEquals(4, v7Edges.size());
v7Edges.forEach(e -> {
if (e.inVertex().value("name").equals("gremlin") && e.label().equals("develops")) {
assertEquals(2010, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 17);
} else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("develops")) {
assertEquals(2011, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 18);
} else if (e.inVertex().value("name").equals("gremlin") && e.label().equals("uses")) {
assertEquals(5, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 19);
} else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("uses")) {
assertEquals(4, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 20);
} else {
fail("Edge not expected");
}
});
final Vertex v8 = (Vertex) g1.traversal().V().has("name", "matthias").next();
assertEquals("person", v8.label());
assertEquals(2, v8.keys().size());
assertEquals(4, (int) IteratorUtils.count(v8.properties("location")));
v8.properties("location").forEachRemaining(vp -> {
if (vp.value().equals("bremen")) {
assertEquals(2004, (int) vp.value("startTime"));
assertEquals(2007, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("baltimore")) {
assertEquals(2007, (int) vp.value("startTime"));
assertEquals(2011, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("oakland")) {
assertEquals(2011, (int) vp.value("startTime"));
assertEquals(2014, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("seattle")) {
assertEquals(2014, (int) vp.value("startTime"));
assertEquals(1, (int) IteratorUtils.count(vp.properties()));
} else {
fail("Found a value that should be there");
}
});
assertId(g1, lossyForId, v8, 8);
final List<Edge> v8Edges = IteratorUtils.list(v8.edges(Direction.BOTH));
assertEquals(3, v8Edges.size());
v8Edges.forEach(e -> {
if (e.inVertex().value("name").equals("gremlin") && e.label().equals("develops")) {
assertEquals(2012, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 21);
} else if (e.inVertex().value("name").equals("gremlin") && e.label().equals("uses")) {
assertEquals(3, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 22);
} else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("uses")) {
assertEquals(3, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 23);
} else {
fail("Edge not expected");
}
});
final Vertex v9 = (Vertex) g1.traversal().V().has("name", "daniel").next();
assertEquals("person", v9.label());
assertEquals(2, v9.keys().size());
assertEquals(3, (int) IteratorUtils.count(v9.properties("location")));
v9.properties("location").forEachRemaining(vp -> {
if (vp.value().equals("spremberg")) {
assertEquals(1982, (int) vp.value("startTime"));
assertEquals(2005, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("kaiserslautern")) {
assertEquals(2005, (int) vp.value("startTime"));
assertEquals(2009, (int) vp.value("endTime"));
assertEquals(2, (int) IteratorUtils.count(vp.properties()));
} else if (vp.value().equals("aachen")) {
assertEquals(2009, (int) vp.value("startTime"));
assertEquals(1, (int) IteratorUtils.count(vp.properties()));
} else {
fail("Found a value that should be there");
}
});
assertId(g1, lossyForId, v9, 9);
final List<Edge> v9Edges = IteratorUtils.list(v9.edges(Direction.BOTH));
assertEquals(2, v9Edges.size());
v9Edges.forEach(e -> {
if (e.inVertex().value("name").equals("gremlin") && e.label().equals("uses")) {
assertEquals(5, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 24);
} else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("uses")) {
assertEquals(3, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 25);
} else {
fail("Edge not expected");
}
});
final Vertex v10 = (Vertex) g1.traversal().V().has("name", "gremlin").next();
assertEquals("software", v10.label());
assertEquals(1, v10.keys().size());
assertId(g1, lossyForId, v10, 10);
final List<Edge> v10Edges = IteratorUtils.list(v10.edges(Direction.BOTH));
assertEquals(8, v10Edges.size());
v10Edges.forEach(e -> {
if (e.outVertex().value("name").equals("marko") && e.label().equals("develops")) {
assertEquals(2009, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 13);
} else if (e.outVertex().value("name").equals("marko") && e.label().equals("uses")) {
assertEquals(4, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 15);
} else if (e.outVertex().value("name").equals("stephen") && e.label().equals("develops")) {
assertEquals(2010, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 17);
} else if (e.outVertex().value("name").equals("stephen") && e.label().equals("uses")) {
assertEquals(5, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 19);
} else if (e.outVertex().value("name").equals("matthias") && e.label().equals("develops")) {
assertEquals(2012, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 21);
} else if (e.outVertex().value("name").equals("matthias") && e.label().equals("uses")) {
assertEquals(3, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 22);
} else if (e.outVertex().value("name").equals("daniel") && e.label().equals("uses")) {
assertEquals(5, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 24);
} else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("traverses")) {
assertEquals(0, e.keys().size());
assertId(g1, lossyForId, e, 26);
} else {
fail("Edge not expected");
}
});
final Vertex v11 = (Vertex) g1.traversal().V().has("name", "tinkergraph").next();
assertEquals("software", v11.label());
assertEquals(1, v11.keys().size());
assertId(g1, lossyForId, v11, 11);
final List<Edge> v11Edges = IteratorUtils.list(v11.edges(Direction.BOTH));
assertEquals(7, v11Edges.size());
v11Edges.forEach(e -> {
if (e.outVertex().value("name").equals("marko") && e.label().equals("develops")) {
assertEquals(2010, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 14);
} else if (e.outVertex().value("name").equals("marko") && e.label().equals("uses")) {
assertEquals(5, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 16);
} else if (e.outVertex().value("name").equals("stephen") && e.label().equals("develops")) {
assertEquals(2011, (int) e.value("since"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 18);
} else if (e.outVertex().value("name").equals("stephen") && e.label().equals("uses")) {
assertEquals(4, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 20);
} else if (e.outVertex().value("name").equals("matthias") && e.label().equals("uses")) {
assertEquals(3, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 23);
} else if (e.outVertex().value("name").equals("daniel") && e.label().equals("uses")) {
assertEquals(3, (int) e.value("skill"));
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 25);
} else if (e.outVertex().value("name").equals("gremlin") && e.label().equals("traverses")) {
assertEquals(0, e.keys().size());
assertId(g1, lossyForId, e, 26);
} else {
fail("Edge not expected");
}
});
}