diff --git a/tests/conftest.py b/tests/conftest.py index 1074459..e1a0034 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -16,6 +16,8 @@ "string_format", "initials_format", "initials_delimiter", + "initials_separator", + "suffix_delimiter", "capitalize_name", "force_mixed_case_capitalization", ) diff --git a/tests/test_constants.py b/tests/test_constants.py index 31d10f8..9d9e71d 100644 --- a/tests/test_constants.py +++ b/tests/test_constants.py @@ -99,7 +99,6 @@ def test_clear_removes_all_entries(self) -> None: def test_empty_attribute_default(self) -> None: from nameparser.config import CONSTANTS - _orig = CONSTANTS.empty_attribute_default CONSTANTS.empty_attribute_default = None hn = HumanName("") self.m(hn.title, None, hn) @@ -108,7 +107,6 @@ def test_empty_attribute_default(self) -> None: self.m(hn.last, None, hn) self.m(hn.suffix, None, hn) self.m(hn.nickname, None, hn) - CONSTANTS.empty_attribute_default = _orig def test_empty_attribute_on_instance(self) -> None: hn = HumanName("", None) diff --git a/tests/test_initials.py b/tests/test_initials.py index 6c410ff..1041a9b 100644 --- a/tests/test_initials.py +++ b/tests/test_initials.py @@ -53,14 +53,12 @@ def test_initials_format(self) -> None: def test_initials_format_constants(self) -> None: from nameparser.config import CONSTANTS - _orig = CONSTANTS.initials_format CONSTANTS.initials_format = "{first} {last}" hn = HumanName("Doe, John A. Kenneth, Jr.") self.m(hn.initials(), "J. D.", hn) CONSTANTS.initials_format = "{first} {last}" hn = HumanName("Doe, John A. Kenneth, Jr.") self.m(hn.initials(), "J. D.", hn) - CONSTANTS.initials_format = _orig def test_initials_delimiter(self) -> None: hn = HumanName("Doe, John A. Kenneth, Jr.", initials_delimiter=";") @@ -68,17 +66,9 @@ def test_initials_delimiter(self) -> None: def test_initials_delimiter_constants(self) -> None: from nameparser.config import CONSTANTS - _orig = CONSTANTS.initials_delimiter - try: - CONSTANTS.initials_delimiter = ";" - hn = HumanName("Doe, John A. Kenneth, Jr.") - self.m(hn.initials(), "J; A; K; D;", hn) - finally: - CONSTANTS.initials_delimiter = _orig - - def test_initials_separator_default_on_constants(self) -> None: - from nameparser.config import CONSTANTS - self.assertEqual(CONSTANTS.initials_separator, " ") + CONSTANTS.initials_delimiter = ";" + hn = HumanName("Doe, John A. Kenneth, Jr.") + self.m(hn.initials(), "J; A; K; D;", hn) def test_initials_list(self) -> None: hn = HumanName("Andrew Boris Petersen") @@ -197,16 +187,15 @@ def test_initials_separator_empty_multi_part_middle(self) -> None: def test_initials_separator_constants_multi_part_middle(self) -> None: from nameparser.config import CONSTANTS - _orig_d = CONSTANTS.initials_delimiter - _orig_s = CONSTANTS.initials_separator - _orig_f = CONSTANTS.initials_format - try: - CONSTANTS.initials_delimiter = "" - CONSTANTS.initials_separator = "" - CONSTANTS.initials_format = "{first}{middle}{last}" - hn = HumanName("Doe, John A. Kenneth") - self.m(hn.initials(), "JAKD", hn) - finally: - CONSTANTS.initials_delimiter = _orig_d - CONSTANTS.initials_separator = _orig_s - CONSTANTS.initials_format = _orig_f + CONSTANTS.initials_delimiter = "" + CONSTANTS.initials_separator = "" + CONSTANTS.initials_format = "{first}{middle}{last}" + hn = HumanName("Doe, John A. Kenneth") + self.m(hn.initials(), "JAKD", hn) + + def test_initials_separator_default_on_constants(self) -> None: + # Runs after test_initials_separator_constants_multi_part_middle so that, + # in file/definition order, it verifies the autouse fixture restored + # CONSTANTS.initials_separator rather than leaking the "" set above. + from nameparser.config import CONSTANTS + self.assertEqual(CONSTANTS.initials_separator, " ") diff --git a/tests/test_output_format.py b/tests/test_output_format.py index cc847f3..fb6693d 100644 --- a/tests/test_output_format.py +++ b/tests/test_output_format.py @@ -12,18 +12,15 @@ def test_formatting_init_argument(self) -> None: def test_formatting_constants_attribute(self) -> None: from nameparser.config import CONSTANTS - _orig = CONSTANTS.string_format CONSTANTS.string_format = "TEST2" hn = HumanName("Rev John A. Kenneth Doe III (Kenny)") self.assertEqual(str(hn), "TEST2") - CONSTANTS.string_format = _orig def test_capitalize_name_constants_attribute(self) -> None: from nameparser.config import CONSTANTS CONSTANTS.capitalize_name = True hn = HumanName("bob v. de la macdole-eisenhower phd") self.assertEqual(str(hn), "Bob V. de la MacDole-Eisenhower Ph.D.") - CONSTANTS.capitalize_name = False def test_force_mixed_case_capitalization_constants_attribute(self) -> None: from nameparser.config import CONSTANTS @@ -31,7 +28,6 @@ def test_force_mixed_case_capitalization_constants_attribute(self) -> None: hn = HumanName('Shirley Maclaine') hn.capitalize() self.assertEqual(str(hn), "Shirley MacLaine") - CONSTANTS.force_mixed_case_capitalization = False def test_capitalize_name_and_force_mixed_case_capitalization_constants_attributes(self) -> None: from nameparser.config import CONSTANTS diff --git a/tests/test_suffixes.py b/tests/test_suffixes.py index 27ae785..59f73cb 100644 --- a/tests/test_suffixes.py +++ b/tests/test_suffixes.py @@ -238,15 +238,11 @@ def test_suffix_delimiter_no_effect_without_comma(self) -> None: def test_suffix_delimiter_constants_level(self) -> None: from nameparser.config import CONSTANTS - _orig = CONSTANTS.suffix_delimiter - try: - CONSTANTS.suffix_delimiter = " - " - hn = HumanName("Steven Hardman, RN - CRNA") - self.m(hn.first, "Steven", hn) - self.m(hn.last, "Hardman", hn) - self.m(hn.suffix, "RN, CRNA", hn) - finally: - CONSTANTS.suffix_delimiter = _orig + CONSTANTS.suffix_delimiter = " - " + hn = HumanName("Steven Hardman, RN - CRNA") + self.m(hn.first, "Steven", hn) + self.m(hn.last, "Hardman", hn) + self.m(hn.suffix, "RN, CRNA", hn) def test_suffix_delimiter_none_by_default_known_limitation(self) -> None: # Without suffix_delimiter set, " - " between suffixes breaks parsing.