refactor(parser): extract split() pipeline into named methods
Extract stripMaidenName, normalizeDotCompressed, stripAnnotation, stripTitle, and splitByKnownLastNameOrFallback as individually testable pipeline steps. Each extraction method is a pass-through until its feature issue fills in the logic. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -256,4 +256,27 @@ class PersonNameParserTest {
|
||||
List<String> result = PersonNameParser.parseReceivers("Müller und Herbert de Gruyter");
|
||||
assertThat(result).containsExactlyInAnyOrder("Müller", "Herbert de Gruyter");
|
||||
}
|
||||
|
||||
// --- pipeline pass-through methods ---
|
||||
|
||||
@Test
|
||||
void stripMaidenName_isPassthrough() {
|
||||
PersonNameParser.MaidenNameResult result = PersonNameParser.stripMaidenName("Walter de Gruyter");
|
||||
assertThat(result.cleaned()).isEqualTo("Walter de Gruyter");
|
||||
assertThat(result.maidenName()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void stripAnnotation_isPassthrough() {
|
||||
PersonNameParser.AnnotationResult result = PersonNameParser.stripAnnotation("Walter de Gruyter");
|
||||
assertThat(result.cleaned()).isEqualTo("Walter de Gruyter");
|
||||
assertThat(result.annotation()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void stripTitle_isPassthrough() {
|
||||
PersonNameParser.TitleResult result = PersonNameParser.stripTitle("Walter de Gruyter");
|
||||
assertThat(result.cleaned()).isEqualTo("Walter de Gruyter");
|
||||
assertThat(result.title()).isNull();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user