From a04106ce1fd3ffc18c17187a2f5f9291ade6eb68 Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Wed, 19 Jun 2024 13:59:52 +0100 Subject: [PATCH 1/2] Bug fix format_wikibase_time centuries --- matcher/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matcher/utils.py b/matcher/utils.py index dbe850f..55f3bd2 100644 --- a/matcher/utils.py +++ b/matcher/utils.py @@ -204,7 +204,7 @@ def format_wikibase_time(v: WikibaseTime) -> str | None: case 7: # century century = ((int(t[:5]) - 1) // 100) + 1 ordinal_num = num2words(abs(century), to="ordinal_num") - return f"{ordinal_num} {century}{' BC' if century < 0 else ''}" + return f"{ordinal_num} century{' BC' if century < 0 else ''}" case 6: # millennium millennium = ((int(t[:5]) - 1) // 1000) + 1 ordinal_num = num2words(abs(millennium), to="ordinal_num") From 4863eb59d5e26b17b656e699114bc749535d7f2f Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Wed, 19 Jun 2024 14:00:28 +0100 Subject: [PATCH 2/2] Improve tests Closes: #1 --- tests/test_utils.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/test_utils.py b/tests/test_utils.py index 2064264..c9f6c7f 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,17 +1,30 @@ +"""Test matcher utils.""" + from matcher import utils -def test_format_wikibase_time_year(): +def test_format_wikibase_time_year() -> None: + """Test passing a year to format_wikibase_time.""" v = {"time": "+1950-00-00T00:00:00Z", "precision": 9} assert utils.format_wikibase_time(v) == "1950" -def test_format_wikibase_time_century(): +def test_format_wikibase_time_century() -> None: + """Test passing centuries to format_wikibase_time.""" v = {"time": "+0800-00-00T00:00:00Z", "precision": 7} assert utils.format_wikibase_time(v) == "8th century" v = {"time": "+1950-00-00T00:00:00Z", "precision": 7} assert utils.format_wikibase_time(v) == "20th century" + +def test_format_wikibase_time_decade() -> None: + """Test passing a full date to format_wikibase_time.""" + v = {"time": "+1910-00-00T00:00:00Z", "precision": 8} + assert utils.format_wikibase_time(v) == "1910s" + + +def test_format_wikibase_time_day() -> None: + """Test passing a full date to format_wikibase_time.""" v = {"time": "+1868-01-09T00:00:00Z", "precision": 11} assert utils.format_wikibase_time(v) == "9 January 1868"