refactor(parser): expand SplitName record to 5 fields
Add title, maidenName, and annotation fields (all nullable) to SplitName. All existing call sites pass null for new fields. Test assertions updated to document the null-by-default contract. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -81,6 +81,9 @@ class PersonNameParserTest {
|
||||
PersonNameParser.SplitName result = PersonNameParser.split("Walter de Gruyter");
|
||||
assertThat(result.firstName()).isEqualTo("Walter");
|
||||
assertThat(result.lastName()).isEqualTo("de Gruyter");
|
||||
assertThat(result.title()).isNull();
|
||||
assertThat(result.maidenName()).isNull();
|
||||
assertThat(result.annotation()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -107,22 +110,31 @@ class PersonNameParserTest {
|
||||
@Test
|
||||
void split_gebAnnotation_stripped() {
|
||||
PersonNameParser.SplitName result = PersonNameParser.split("Eugenie de Gruyter geb. Müller");
|
||||
assertThat(result.title()).isNull();
|
||||
assertThat(result.firstName()).isEqualTo("Eugenie");
|
||||
assertThat(result.lastName()).isEqualTo("de Gruyter");
|
||||
assertThat(result.maidenName()).isNull();
|
||||
assertThat(result.annotation()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void split_null_returnsPlaceholder() {
|
||||
PersonNameParser.SplitName result = PersonNameParser.split(null);
|
||||
assertThat(result.title()).isNull();
|
||||
assertThat(result.firstName()).isEqualTo("?");
|
||||
assertThat(result.lastName()).isEqualTo("?");
|
||||
assertThat(result.maidenName()).isNull();
|
||||
assertThat(result.annotation()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void split_blank_returnsPlaceholder() {
|
||||
PersonNameParser.SplitName result = PersonNameParser.split(" ");
|
||||
assertThat(result.title()).isNull();
|
||||
assertThat(result.firstName()).isEqualTo("?");
|
||||
assertThat(result.lastName()).isEqualTo("?");
|
||||
assertThat(result.maidenName()).isNull();
|
||||
assertThat(result.annotation()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user