in gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoTest.java [1211:1394]
private static void assertToyGraph(final Graph g1, final boolean assertDouble, final boolean lossyForId, final boolean assertSpecificLabel) {
assertEquals(6, IteratorUtils.count(g1.vertices()));
assertEquals(6, IteratorUtils.count(g1.edges()));
final Vertex v1 = g1.traversal().V().has("name", "marko").next();
assertEquals(29, v1.<Integer>value("age").intValue());
assertEquals(2, v1.keys().size());
assertEquals(assertSpecificLabel ? "person" : Vertex.DEFAULT_LABEL, v1.label());
assertId(g1, lossyForId, v1, 1);
final List<Edge> v1Edges = IteratorUtils.list(v1.edges(Direction.BOTH));
assertEquals(3, v1Edges.size());
v1Edges.forEach(e -> {
if (e.inVertex().value("name").equals("vadas")) {
assertEquals("knows", e.label());
if (assertDouble)
assertWeightLoosely(0.5d, e);
else
assertWeightLoosely(0.5f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 7);
} else if (e.inVertex().value("name").equals("josh")) {
assertEquals("knows", e.label());
if (assertDouble)
assertWeightLoosely(1.0, e);
else
assertWeightLoosely(1.0f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 8);
} else if (e.inVertex().value("name").equals("lop")) {
assertEquals("created", e.label());
if (assertDouble)
assertWeightLoosely(0.4d, e);
else
assertWeightLoosely(0.4f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 9);
} else {
fail("Edge not expected");
}
});
final Vertex v2 = g1.traversal().V().has("name", "vadas").next();
assertEquals(27, v2.<Integer>value("age").intValue());
assertEquals(2, v2.keys().size());
assertEquals(assertSpecificLabel ? "person" : Vertex.DEFAULT_LABEL, v2.label());
assertId(g1, lossyForId, v2, 2);
final List<Edge> v2Edges = IteratorUtils.list(v2.edges(Direction.BOTH));
assertEquals(1, v2Edges.size());
v2Edges.forEach(e -> {
if (e.outVertex().value("name").equals("marko")) {
assertEquals("knows", e.label());
if (assertDouble)
assertWeightLoosely(0.5d, e);
else
assertWeightLoosely(0.5f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 7);
} else {
fail("Edge not expected");
}
});
final Vertex v3 = g1.traversal().V().has("name", "lop").next();
assertEquals("java", v3.<String>value("lang"));
assertEquals(2, v2.keys().size());
assertEquals(assertSpecificLabel ? "software" : Vertex.DEFAULT_LABEL, v3.label());
assertId(g1, lossyForId, v3, 3);
final List<Edge> v3Edges = IteratorUtils.list(v3.edges(Direction.BOTH));
assertEquals(3, v3Edges.size());
v3Edges.forEach(e -> {
if (e.outVertex().value("name").equals("peter")) {
assertEquals("created", e.label());
if (assertDouble)
assertWeightLoosely(0.2d, e);
else
assertWeightLoosely(0.2f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 12);
} else if (e.outVertex().value("name").equals("josh")) {
assertEquals("created", e.label());
if (assertDouble)
assertWeightLoosely(0.4d, e);
else
assertWeightLoosely(0.4f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 11);
} else if (e.outVertex().value("name").equals("marko")) {
assertEquals("created", e.label());
if (assertDouble)
assertWeightLoosely(0.4d, e);
else
assertWeightLoosely(0.4f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 9);
} else {
fail("Edge not expected");
}
});
final Vertex v4 = g1.traversal().V().has("name", "josh").next();
assertEquals(32, v4.<Integer>value("age").intValue());
assertEquals(2, v4.keys().size());
assertEquals(assertSpecificLabel ? "person" : Vertex.DEFAULT_LABEL, v4.label());
assertId(g1, lossyForId, v4, 4);
final List<Edge> v4Edges = IteratorUtils.list(v4.edges(Direction.BOTH));
assertEquals(3, v4Edges.size());
v4Edges.forEach(e -> {
if (e.inVertex().value("name").equals("ripple")) {
assertEquals("created", e.label());
if (assertDouble)
assertWeightLoosely(1.0d, e);
else
assertWeightLoosely(1.0f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 10);
} else if (e.inVertex().value("name").equals("lop")) {
assertEquals("created", e.label());
if (assertDouble)
assertWeightLoosely(0.4d, e);
else
assertWeightLoosely(0.4f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 11);
} else if (e.outVertex().value("name").equals("marko")) {
assertEquals("knows", e.label());
if (assertDouble)
assertWeightLoosely(1.0d, e);
else
assertWeightLoosely(1.0f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 8);
} else {
fail("Edge not expected");
}
});
final Vertex v5 = g1.traversal().V().has("name", "ripple").next();
assertEquals("java", v5.<String>value("lang"));
assertEquals(2, v5.keys().size());
assertEquals(assertSpecificLabel ? "software" : Vertex.DEFAULT_LABEL, v5.label());
assertId(g1, lossyForId, v5, 5);
final List<Edge> v5Edges = IteratorUtils.list(v5.edges(Direction.BOTH));
assertEquals(1, v5Edges.size());
v5Edges.forEach(e -> {
if (e.outVertex().value("name").equals("josh")) {
assertEquals("created", e.label());
if (assertDouble)
assertWeightLoosely(1.0d, e);
else
assertWeightLoosely(1.0f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 10);
} else {
fail("Edge not expected");
}
});
final Vertex v6 = g1.traversal().V().has("name", "peter").next();
assertEquals(35, v6.<Integer>value("age").intValue());
assertEquals(2, v6.keys().size());
assertEquals(assertSpecificLabel ? "person" : Vertex.DEFAULT_LABEL, v6.label());
assertId(g1, lossyForId, v6, 6);
final List<Edge> v6Edges = IteratorUtils.list(v6.edges(Direction.BOTH));
assertEquals(1, v6Edges.size());
v6Edges.forEach(e -> {
if (e.inVertex().value("name").equals("lop")) {
assertEquals("created", e.label());
if (assertDouble)
assertWeightLoosely(0.2d, e);
else
assertWeightLoosely(0.2f, e);
assertEquals(1, e.keys().size());
assertId(g1, lossyForId, e, 12);
} else {
fail("Edge not expected");
}
});
}