Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
"string_format",
"initials_format",
"initials_delimiter",
"initials_separator",
"suffix_delimiter",
"capitalize_name",
"force_mixed_case_capitalization",
)
Expand Down
2 changes: 0 additions & 2 deletions tests/test_constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand Down
41 changes: 15 additions & 26 deletions tests/test_initials.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,32 +53,22 @@ 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=";")
self.m(hn.initials(), "J; A; K; D;", hn)

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")
Expand Down Expand Up @@ -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, " ")
4 changes: 0 additions & 4 deletions tests/test_output_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,22 @@ 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
CONSTANTS.force_mixed_case_capitalization = True
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
Expand Down
14 changes: 5 additions & 9 deletions tests/test_suffixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down