def test_validate_incorrect_edge(edge): """ Test basic validation of an edge, where the edge is invalid. """ t = Transformer() s = Source(t) assert not s.validate_edge(edge) assert len(t.get_errors()) > 0 t.write_report()
def test_validate_correct_edge(edge): """ Test basic validation of an edge, where the edge is valid. """ t = Transformer() s = Source(t) e = s.validate_edge(edge) assert e is not None assert len(t.get_errors()) == 0 t.write_report()
def test_incorrect_edge_filters(edge): """ Test filtering of an edge """ t = Transformer() s = Source(t) filters = {"some_field": {"bad_edge_filter": 1}} s.set_edge_filters(filters) s.check_edge_filter(edge) assert len(t.get_errors("Error")) > 0 t.write_report()
def test_validate_incorrect_node(node): """ Test basic validation of a node, where the node is invalid. """ t = Transformer() s = Source(t) result = s.validate_node(node) if len(t.get_errors("Error")) > 0: assert result is None else: assert result is not None t.write_report()
def test_incorrect_nodes(): """ Test basic validation of a node, where the node is invalid. """ t = Transformer() s = TsvSource(t) g = s.parse(filename=os.path.join(RESOURCE_DIR, "incomplete_nodes.tsv"), format="tsv") nodes = [] for rec in g: if rec: nodes.append(rec) t.write_report()
def test_validate_correct_node(node): """ Test basic validation of a node, where the node is valid. """ t = Transformer() s = Source(t) n = s.validate_node(node) assert n is not None assert "category" in n assert n["category"][0] == DEFAULT_NODE_CATEGORY if len(t.get_errors()) > 0: assert len(t.get_errors("Error")) == 0 assert len(t.get_errors("Warning")) > 0 t.write_report(None, "Warning")
def test_error_detection(): t = Transformer() s = ObographSource(t) g = s.parse( os.path.join(RESOURCE_DIR, "obo_error_detection.json"), knowledge_source="Sample OBO", ) nodes = {} edges = {} for rec in g: if rec: if len(rec) == 4: edges[(rec[0], rec[1], rec[2])] = rec[3] else: nodes[rec[0]] = rec[1] assert len(t.get_errors()) > 0 if len(t.get_errors("Error")) > 0: t.write_report(None, "Error") if len(t.get_errors("Warning")) > 0: t.write_report(None, "Warning")