CancelNode cancel = assertHasCancelNode(update);
DecisionNode check = assertHasDecisionNode(update, "can cast?");
CastNode cast = assertHasCastNode(update);
SetNode set = assertHasSetNode(update);
assertHasExecutionEdge(update, start, check);
assertHasExecutionEdge(update, check, cancel, "no");
assertHasExecutionEdge(update, check, set, "yes");
assertHasExecutionEdge(update, set, finish);
// data flow edges
ActivityParameter param = assertHasActivityParameter(update, "setValueTo");
assertHasDataFlowEdge(update, param, cast);
assertHasDataFlowEdge(update, cast, check);
assertHasDataFlowEdge(update, cast, set);
assertEquals(1, set.getOutFlows().size());
ExternalValue ev_f2 = (ExternalValue) set.getOutFlows().get(0).getTo();
Value f2 = ev_f2.getValue();
assertEquals("set directly", f2.getName());
}