in gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/VariablesTest.java [284:358]
public void shouldSetValueOnGraph() throws Exception {
assumeThat(graph.features().supports(Graph.Features.VariableFeatures.class, featureName), is(true));
final Graph.Variables variables = graph.variables();
variables.set("aKey", value);
if (value instanceof Map)
tryCommit(graph, graph -> {
final Map map = variables.<Map>get("aKey").get();
assertEquals(((Map) value).size(), map.size());
((Map) value).keySet().forEach(k -> assertEquals(((Map) value).get(k), map.get(k)));
});
else if (value instanceof List)
tryCommit(graph, graph -> {
final List l = variables.<List>get("aKey").get();
assertEquals(((List) value).size(), l.size());
for (int ix = 0; ix < ((List) value).size(); ix++) {
assertEquals(((List) value).get(ix), l.get(ix));
}
});
else if (value instanceof MockSerializable)
tryCommit(graph, graph -> {
final MockSerializable mock = variables.<MockSerializable>get("aKey").get();
assertEquals(((MockSerializable) value).getTestField(), mock.getTestField());
});
else if (value instanceof boolean[])
tryCommit(graph, graph -> {
final boolean[] l = variables.<boolean[]>get("aKey").get();
assertEquals(((boolean[]) value).length, l.length);
for (int ix = 0; ix < ((boolean[]) value).length; ix++) {
assertEquals(((boolean[]) value)[ix], l[ix]);
}
});
else if (value instanceof double[])
tryCommit(graph, graph -> {
final double[] l = variables.<double[]>get("aKey").get();
assertEquals(((double[]) value).length, l.length);
for (int ix = 0; ix < ((double[]) value).length; ix++) {
assertEquals(((double[]) value)[ix], l[ix], 0.0d);
}
});
else if (value instanceof float[])
tryCommit(graph, graph -> {
final float[] l = variables.<float[]>get("aKey").get();
assertEquals(((float[]) value).length, l.length);
for (int ix = 0; ix < ((float[]) value).length; ix++) {
assertEquals(((float[]) value)[ix], l[ix], 0.0f);
}
});
else if (value instanceof int[])
tryCommit(graph, graph -> {
final int[] l = variables.<int[]>get("aKey").get();
assertEquals(((int[]) value).length, l.length);
for (int ix = 0; ix < ((int[]) value).length; ix++) {
assertEquals(((int[]) value)[ix], l[ix]);
}
});
else if (value instanceof long[])
tryCommit(graph, graph -> {
final long[] l = variables.<long[]>get("aKey").get();
assertEquals(((long[]) value).length, l.length);
for (int ix = 0; ix < ((long[]) value).length; ix++) {
assertEquals(((long[]) value)[ix], l[ix]);
}
});
else if (value instanceof String[])
tryCommit(graph, graph -> {
final String[] l = variables.<String[]>get("aKey").get();
assertEquals(((String[]) value).length, l.length);
for (int ix = 0; ix < ((String[]) value).length; ix++) {
assertEquals(((String[]) value)[ix], l[ix]);
}
});
else
tryCommit(graph, graph -> assertEquals(value, variables.get("aKey").get()));
}