|
|
|
|
|
|
| import sys, os
|
| sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
| from spacyNER.name_assembler import assemble_name, split_full_name
|
|
|
|
|
|
|
|
|
| def test_assemble_full_name():
|
| result = assemble_name("Juan", "dela Cruz", "Santos")
|
| assert result == "Juan dela Cruz Santos"
|
|
|
| def test_assemble_no_middle():
|
| result = assemble_name("Maria", None, "Reyes")
|
| assert result == "Maria Reyes"
|
|
|
| def test_assemble_empty_middle():
|
| result = assemble_name("Carlos", "", "Mendoza")
|
| assert result == "Carlos Mendoza"
|
|
|
| def test_assemble_all_none():
|
| result = assemble_name(None, None, None)
|
| assert result == ""
|
|
|
| def test_assemble_strips_whitespace():
|
| result = assemble_name(" Juan ", " dela Cruz ", " Santos ")
|
| assert result == "Juan dela Cruz Santos"
|
|
|
| def test_assemble_first_only():
|
| result = assemble_name("Jose", None, None)
|
| assert result == "Jose"
|
|
|
| def test_assemble_last_only():
|
| result = assemble_name(None, None, "Ramos")
|
| assert result == "Ramos"
|
|
|
|
|
|
|
|
|
| def test_split_three_words():
|
| first, middle, last = split_full_name("Juan dela Santos")
|
| assert first == "Juan"
|
| assert middle == "dela"
|
| assert last == "Santos"
|
|
|
| def test_split_four_words():
|
| first, middle, last = split_full_name("Juan dela Cruz Santos")
|
| assert first == "Juan"
|
| assert middle == "dela Cruz"
|
| assert last == "Santos"
|
|
|
| def test_split_two_words():
|
| first, middle, last = split_full_name("Maria Reyes")
|
| assert first == "Maria"
|
| assert middle is None
|
| assert last == "Reyes"
|
|
|
| def test_split_one_word():
|
| first, middle, last = split_full_name("Carlos")
|
| assert first == "Carlos"
|
| assert middle is None
|
| assert last is None
|
|
|
| def test_split_empty():
|
| first, middle, last = split_full_name("")
|
| assert first is None
|
| assert middle is None
|
| assert last is None
|
|
|
| def test_roundtrip():
|
| """Splitting then assembling should give back the original name."""
|
| name = "Juan dela Cruz Santos"
|
| first, middle, last = split_full_name(name)
|
| result = assemble_name(first, middle, last)
|
| assert result == name
|
|
|