From f0fe4b0e7ec9cd04ed686cfd1fe040575191acdb Mon Sep 17 00:00:00 2001 From: Mark Servilla Date: Sat, 17 Feb 2024 13:59:28 -0700 Subject: [PATCH] Update evaluate _title_rule function to use normalize helper function; add regression test_title_rule --- src/metapype/eml/evaluate.py | 3 ++- tests/test_evaluate.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 tests/test_evaluate.py diff --git a/src/metapype/eml/evaluate.py b/src/metapype/eml/evaluate.py index 859e93d..0030c85 100644 --- a/src/metapype/eml/evaluate.py +++ b/src/metapype/eml/evaluate.py @@ -17,6 +17,7 @@ from metapype.eml import names from metapype.model.node import Node +from metapype.model.normalize import normalize from metapype.eml.evaluation_warnings import EvaluationWarning @@ -350,7 +351,7 @@ def _title_rule(node: Node) -> list: title = node.content if title is not None: if node.parent is not None and node.parent.name == names.DATASET: - length = len(title.strip().split(" ")) + length = len(normalize(title).split(" ")) if length < 5: evaluation.append(( EvaluationWarning.TITLE_TOO_SHORT, diff --git a/tests/test_evaluate.py b/tests/test_evaluate.py new file mode 100644 index 0000000..5002f60 --- /dev/null +++ b/tests/test_evaluate.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +:Mod: + test_evaluate + +:Synopsis: + +:Author: + servilla + +:Created: + 2/17/24 +""" +import daiquiri + + +from metapype.eml import evaluate +from metapype.eml import names +from metapype.model.node import Node + + +logger = daiquiri.getLogger(__name__) + + +def test_title_rule(): + dataset = Node(names.DATASET) + title = Node(names.TITLE, parent=dataset) + title.content = "Test Title too short" + assert len(evaluate._title_rule(title)) != 0 + title.content = "This test title is long enough so that it should not fail the tile rule" + assert len(evaluate._title_rule(title)) == 0 \ No newline at end of file