import sys; from graph import Graph; from validate.utilities import report; def test(graph, actions, stream = sys.stderr): n = 0; for node in graph.nodes: if not isinstance(node.label, str) or len(node.label) == 0: n += 1; report(graph, "missing or invalid label", node = node, framework = "EDS", stream = stream); message = None; if "anchors" in actions: if not isinstance(node.anchors, list): message = "missing or invalid anchoring"; elif len(node.anchors) != 1 \ or ("from" not in node.anchors[0] or "to" not in node.anchors[0]): message = "invalid ‘anchors’ value: {}".format(node.anchors); if message is not None: n += 1; report(graph, message, node = node, framework = "EDS", stream = stream); return n;