コード例 #1
0
def test_characters_do_not_break(raw):
    _ = Name(raw).raw
コード例 #2
0
 def t_strip_margin_hyphens(self, raw, cooked):
     assert Name.clean(raw) == cooked
コード例 #3
0
def issue_7_allow_initials_written_properly():
    n = Name("J.R.R. Tolkien")
    assert n.first == "j"
    assert n.middle == "r r"
    assert n.last == "tolkien"
コード例 #4
0
def test_unit_do_not_grab_junior(clusters):
    blank = Name()
    _ = blank._grab_junior(clusters)
    assert "jr" not in blank.detail["suffix"]
コード例 #5
0
 def t_drop_spacing(self, raw):
     assert Name.clean(raw) == "mr eric praline"
コード例 #6
0
 def t_ignore_most_symbols(self, raw):
     assert Name.clean(raw) == "mr eric praline"
コード例 #7
0
def test_conjunction_avoid(static):
    assert Name._combine_conjunctions(static) == static
コード例 #8
0
 def t_drop_emoji(self, raw):
     name = Name()
     assert name.clean(name._pre_clean(raw)) == "spiny norman"
コード例 #9
0
def test_prefix_avoid(static):
    raw = " ".join(static)
    assert set(static) <= set(Name(raw).values())
コード例 #10
0
def test_conjunction_combine(incoming, outgoing):
    assert Name._combine_conjunctions(incoming) == outgoing
コード例 #11
0
def test_prefix_combining(incoming, outgoing):
    assert Name._combine_rightmost_prefixes(incoming) == outgoing
コード例 #12
0
def issue_40_smart_quotes():
    name = Name("Bergholt “BSJ” Johnson")
    assert name.nickname
コード例 #13
0
def test_commas_do_not_break(raw1, raw2, raw3):
    _ = Name(f"{raw1},{raw2}").raw
    _ = Name(f"{raw1},{raw2},{raw3}").raw
コード例 #14
0
def issue_4_clean_nicknames():
    name = Name("ang%ua (ba%%rky) uberwald")
    assert name.first == "angua"
    assert name.nickname == "barky"
コード例 #15
0
def only_weird_prefixes():
    assert Name("van de von der von")
コード例 #16
0
def issue_52_hyphenated_number():
    name = Name("¼,A,A")
    assert name.first == "a"
    assert name.last == "a"
コード例 #17
0
def issue_14_mc_and_mac_as_prefix(first, second):
    assert Name(first) == Name(second)
コード例 #18
0
 def t_convert_unicode(self, raw):
     """This is handled by unidecode and should not be extensively tested"""
     assert Name._pre_clean(raw) == "mr eric praline"
コード例 #19
0
def issue_22_consistently_handle_of_prefixes_in_first_name():
    name1 = Name("de ook, van ook yolo moomoo")
    name2 = Name("van ook yolo moomoo de ook")
    assert name1 == name2
コード例 #20
0
 def t_colons_and_commas(self, raw):
     assert Name.clean(raw) == "praline, mr eric"
コード例 #21
0
ファイル: api.py プロジェクト: vaneseltine/nominally
def cli_report(raw_name: str, details: bool = True) -> int:
    """Parse into Name, output (core or report) attributes."""
    name = Name(raw_name)
    output = name.report() if details else dict(name)
    prettier_print(output)
    return 0
コード例 #22
0
 def t_handle_certain_symbols(self, raw, cooked):
     assert Name.clean(raw) == cooked
コード例 #23
0
ファイル: api.py プロジェクト: vaneseltine/nominally
def parse_name(s: str) -> T.Dict[str, T.Any]:
    """Parse into Name, return core name attributes as a dict.

    This is the simplest function interface to *nominally*.
    """
    return dict(Name(s))
コード例 #24
0
def test_sweep_suffixes(incoming, outs, outwork):
    bob = Name()
    observed_string = bob._sweep_suffixes(incoming)
    assert observed_string.strip() == outs
    assert bob.detail["suffix"] == outwork
コード例 #25
0
 def t_force_lower(self, raw):
     assert Name._pre_clean(raw) == "dinsdale"
コード例 #26
0
def test_way_too_many_name_parts_post_suffix():
    name = Name("johnson, bergholt, stuttley, joonyor")
    assert name.first == "bergholt"
    assert name.middle == "stuttley joonyor"
    assert name.last == "johnson"
コード例 #27
0
def test_alphabetical_text_does_not_break(raw):
    _ = Name(raw).raw