// now we can check the contents
StartNode start = assertHasStartNode(validate);
DecisionNode check = assertHasDecisionNode(validate, "can cast?");
assertHasExecutionEdge(validate, start, check);
CastNode cast = assertHasCastNode(validate);
// cast <- ExternalValue <- fieldValue
{
assertEquals(1, cast.getInFlows().size());
ExternalValue ev = (ExternalValue) cast.getInFlows().get(0).getFrom();
assertEquals(fieldValue, ev.getValue());
}
// cast -> ExternalValue -> fieldValue2
{
assertEquals(2 /* two outgoing edges */, cast.getOutFlows().size());
// we need to find the correct one
ExternalValue ev = null;
for (DataFlowEdge edge : cast.getOutFlows()) {
if (edge.getTo() instanceof ExternalValue) {
ev = (ExternalValue) edge.getTo();
}
}
assertNotNull(ev);