def test_parser_test_completeness(self):
"""ensure that all rules in grammar have tests"""
grammar_rule_re = re.compile("^(\w+)")
grammar_fn = pkg_resources.resource_filename(__name__, "../hgvs/_data/hgvs.pymeta")
with open(grammar_fn, "r") as f:
grammar_rules = set(r.group(1) for r in filter(None, map(grammar_rule_re.match, f)))
with open(self._test_fn, "r") as f:
reader = csv.DictReader(f, delimiter=str("\t"))
test_rules = set(row["Func"] for row in reader)
untested_rules = grammar_rules - test_rules
self.assertTrue(len(untested_rules) == 0, "untested rules: {}".format(untested_rules))
评论列表
文章目录