Skip to content

Commit fd2018a

Browse files
committed
test: move TEST_NAMES and HumanNameVariationTests to tests/test_variations.py
1 parent bee04df commit fd2018a

1 file changed

Lines changed: 211 additions & 0 deletions

File tree

tests/test_variations.py

Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
from nameparser import HumanName
2+
3+
from tests.base import HumanNameTestBase
4+
5+
6+
TEST_NAMES = (
7+
"John Doe",
8+
"John Doe, Jr.",
9+
"John Doe III",
10+
"Doe, John",
11+
"Doe, John, Jr.",
12+
"Doe, John III",
13+
"John A. Doe",
14+
"John A. Doe, Jr.",
15+
"John A. Doe III",
16+
"Doe, John A.",
17+
"Doe, John A., Jr.",
18+
"Doe, John A. III",
19+
"John A. Kenneth Doe",
20+
"John A. Kenneth Doe, Jr.",
21+
"John A. Kenneth Doe III",
22+
"Doe, John A. Kenneth",
23+
"Doe, John A. Kenneth, Jr.",
24+
"Doe, John A. Kenneth III",
25+
"Dr. John Doe",
26+
"Dr. John Doe, Jr.",
27+
"Dr. John Doe III",
28+
"Doe, Dr. John",
29+
"Doe, Dr. John, Jr.",
30+
"Doe, Dr. John III",
31+
"Dr. John A. Doe",
32+
"Dr. John A. Doe, Jr.",
33+
"Dr. John A. Doe III",
34+
"Doe, Dr. John A.",
35+
"Doe, Dr. John A. Jr.",
36+
"Doe, Dr. John A. III",
37+
"Dr. John A. Kenneth Doe",
38+
"Dr. John A. Kenneth Doe, Jr.",
39+
"Dr. John A. Kenneth Doe III",
40+
"Doe, Dr. John A. Kenneth",
41+
"Doe, Dr. John A. Kenneth Jr.",
42+
"Doe, Dr. John A. Kenneth III",
43+
"Juan de la Vega",
44+
"Juan de la Vega, Jr.",
45+
"Juan de la Vega III",
46+
"de la Vega, Juan",
47+
"de la Vega, Juan, Jr.",
48+
"de la Vega, Juan III",
49+
"Juan Velasquez y Garcia",
50+
"Juan Velasquez y Garcia, Jr.",
51+
"Juan Velasquez y Garcia III",
52+
"Velasquez y Garcia, Juan",
53+
"Velasquez y Garcia, Juan, Jr.",
54+
"Velasquez y Garcia, Juan III",
55+
"Dr. Juan de la Vega",
56+
"Dr. Juan de la Vega, Jr.",
57+
"Dr. Juan de la Vega III",
58+
"de la Vega, Dr. Juan",
59+
"de la Vega, Dr. Juan, Jr.",
60+
"de la Vega, Dr. Juan III",
61+
"Dr. Juan Velasquez y Garcia",
62+
"Dr. Juan Velasquez y Garcia, Jr.",
63+
"Dr. Juan Velasquez y Garcia III",
64+
"Velasquez y Garcia, Dr. Juan",
65+
"Velasquez y Garcia, Dr. Juan, Jr.",
66+
"Velasquez y Garcia, Dr. Juan III",
67+
"Juan Q. de la Vega",
68+
"Juan Q. de la Vega, Jr.",
69+
"Juan Q. de la Vega III",
70+
"de la Vega, Juan Q.",
71+
"de la Vega, Juan Q., Jr.",
72+
"de la Vega, Juan Q. III",
73+
"Juan Q. Velasquez y Garcia",
74+
"Juan Q. Velasquez y Garcia, Jr.",
75+
"Juan Q. Velasquez y Garcia III",
76+
"Velasquez y Garcia, Juan Q.",
77+
"Velasquez y Garcia, Juan Q., Jr.",
78+
"Velasquez y Garcia, Juan Q. III",
79+
"Dr. Juan Q. de la Vega",
80+
"Dr. Juan Q. de la Vega, Jr.",
81+
"Dr. Juan Q. de la Vega III",
82+
"de la Vega, Dr. Juan Q.",
83+
"de la Vega, Dr. Juan Q., Jr.",
84+
"de la Vega, Dr. Juan Q. III",
85+
"Dr. Juan Q. Velasquez y Garcia",
86+
"Dr. Juan Q. Velasquez y Garcia, Jr.",
87+
"Dr. Juan Q. Velasquez y Garcia III",
88+
"Velasquez y Garcia, Dr. Juan Q.",
89+
"Velasquez y Garcia, Dr. Juan Q., Jr.",
90+
"Velasquez y Garcia, Dr. Juan Q. III",
91+
"Juan Q. Xavier de la Vega",
92+
"Juan Q. Xavier de la Vega, Jr.",
93+
"Juan Q. Xavier de la Vega III",
94+
"de la Vega, Juan Q. Xavier",
95+
"de la Vega, Juan Q. Xavier, Jr.",
96+
"de la Vega, Juan Q. Xavier III",
97+
"Juan Q. Xavier Velasquez y Garcia",
98+
"Juan Q. Xavier Velasquez y Garcia, Jr.",
99+
"Juan Q. Xavier Velasquez y Garcia III",
100+
"Velasquez y Garcia, Juan Q. Xavier",
101+
"Velasquez y Garcia, Juan Q. Xavier, Jr.",
102+
"Velasquez y Garcia, Juan Q. Xavier III",
103+
"Dr. Juan Q. Xavier de la Vega",
104+
"Dr. Juan Q. Xavier de la Vega, Jr.",
105+
"Dr. Juan Q. Xavier de la Vega III",
106+
"de la Vega, Dr. Juan Q. Xavier",
107+
"de la Vega, Dr. Juan Q. Xavier, Jr.",
108+
"de la Vega, Dr. Juan Q. Xavier III",
109+
"Dr. Juan Q. Xavier Velasquez y Garcia",
110+
"Dr. Juan Q. Xavier Velasquez y Garcia, Jr.",
111+
"Dr. Juan Q. Xavier Velasquez y Garcia III",
112+
"Velasquez y Garcia, Dr. Juan Q. Xavier",
113+
"Velasquez y Garcia, Dr. Juan Q. Xavier, Jr.",
114+
"Velasquez y Garcia, Dr. Juan Q. Xavier III",
115+
"John Doe, CLU, CFP, LUTC",
116+
"John P. Doe, CLU, CFP, LUTC",
117+
"Dr. John P. Doe-Ray, CLU, CFP, LUTC",
118+
"Doe-Ray, Dr. John P., CLU, CFP, LUTC",
119+
"Hon. Barrington P. Doe-Ray, Jr.",
120+
"Doe-Ray, Hon. Barrington P. Jr.",
121+
"Doe-Ray, Hon. Barrington P. Jr., CFP, LUTC",
122+
"Jose Aznar y Lopez",
123+
"John E Smith",
124+
"John e Smith",
125+
"John and Jane Smith",
126+
"Rev. John A. Kenneth Doe",
127+
"Donovan McNabb-Smith",
128+
"Rev John A. Kenneth Doe",
129+
"Doe, Rev. John A. Jr.",
130+
"Buca di Beppo",
131+
"Lt. Gen. John A. Kenneth Doe, Jr.",
132+
"Doe, Lt. Gen. John A. Kenneth IV",
133+
"Lt. Gen. John A. Kenneth Doe IV",
134+
'Mr. and Mrs. John Smith',
135+
'John Jones (Google Docs)',
136+
'john e jones',
137+
'john e jones, III',
138+
'jones, john e',
139+
'E.T. Smith',
140+
'E.T. Smith, II',
141+
'Smith, E.T., Jr.',
142+
'A.B. Vajpayee',
143+
'Rt. Hon. Paul E. Mary',
144+
'Maid Marion',
145+
'Amy E. Maid',
146+
'Jane Doctor',
147+
'Doctor, Jane E.',
148+
'dr. ben alex johnson III',
149+
'Lord of the Universe and Supreme King of the World Lisa Simpson',
150+
'Benjamin (Ben) Franklin',
151+
'Benjamin "Ben" Franklin',
152+
"Brian O'connor",
153+
"Sir Gerald",
154+
"Magistrate Judge John F. Forster, Jr",
155+
# "Magistrate Judge Joaquin V.E. Manibusan, Jr", Intials seem to mess this up
156+
"Magistrate-Judge Elizabeth Todd Campbell",
157+
"Mag-Judge Harwell G Davis, III",
158+
"Mag. Judge Byron G. Cudmore",
159+
"Chief Judge J. Leon Holmes",
160+
"Chief Judge Sharon Lovelace Blackburn",
161+
"Judge James M. Moody",
162+
"Judge G. Thomas Eisele",
163+
# "Judge Callie V. S. Granade",
164+
"Judge C Lynwood Smith, Jr",
165+
"Senior Judge Charles R. Butler, Jr",
166+
"Senior Judge Harold D. Vietor",
167+
"Senior Judge Virgil Pittman",
168+
"Honorable Terry F. Moorer",
169+
"Honorable W. Harold Albritton, III",
170+
"Honorable Judge W. Harold Albritton, III",
171+
"Honorable Judge Terry F. Moorer",
172+
"Honorable Judge Susan Russ Walker",
173+
"Hon. Marian W. Payson",
174+
"Hon. Charles J. Siragusa",
175+
"US Magistrate Judge T Michael Putnam",
176+
"Designated Judge David A. Ezra",
177+
"Sr US District Judge Richard G Kopf",
178+
"U.S. District Judge Marc Thomas Treadwell",
179+
"Dra. Andréia da Silva",
180+
"Srta. Andréia da Silva",
181+
182+
)
183+
184+
185+
class HumanNameVariationTests(HumanNameTestBase):
186+
# test automated variations of names in TEST_NAMES.
187+
# Helps test that the 3 code trees work the same
188+
189+
TEST_NAMES = TEST_NAMES
190+
191+
def test_variations_of_TEST_NAMES(self) -> None:
192+
for name in self.TEST_NAMES:
193+
hn = HumanName(name)
194+
if len(hn.suffix_list) > 1:
195+
hn = HumanName("{title} {first} {middle} {last} {suffix}".format(**hn.as_dict()).split(',')[0])
196+
hn.C.empty_attribute_default = '' # format strings below require empty string
197+
hn_dict = hn.as_dict()
198+
nocomma = HumanName("{title} {first} {middle} {last} {suffix}".format(**hn_dict))
199+
lastnamecomma = HumanName("{last}, {title} {first} {middle} {suffix}".format(**hn_dict))
200+
if hn.suffix:
201+
suffixcomma = HumanName("{title} {first} {middle} {last}, {suffix}".format(**hn_dict))
202+
if hn.nickname:
203+
nocomma = HumanName("{title} {first} {middle} {last} {suffix} ({nickname})".format(**hn_dict))
204+
lastnamecomma = HumanName("{last}, {title} {first} {middle} {suffix} ({nickname})".format(**hn_dict))
205+
if hn.suffix:
206+
suffixcomma = HumanName("{title} {first} {middle} {last}, {suffix} ({nickname})".format(**hn_dict))
207+
for attr in hn._members:
208+
self.m(getattr(hn, attr), getattr(nocomma, attr), hn)
209+
self.m(getattr(hn, attr), getattr(lastnamecomma, attr), hn)
210+
if hn.suffix:
211+
self.m(getattr(hn, attr), getattr(suffixcomma, attr), hn)

0 commit comments

Comments
 (0)