-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathFullNameParsingService.java
More file actions
32 lines (22 loc) · 1.04 KB
/
FullNameParsingService.java
File metadata and controls
32 lines (22 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.walking.lesson125_unit_testing.service;
import com.walking.lesson125_unit_testing.model.FullName;
public class FullNameParsingService {
private final FullNameValidationService fullNameValidationService;
public FullNameParsingService(FullNameValidationService fullNameValidationService) {
this.fullNameValidationService = fullNameValidationService;
}
public FullName parseFullName(String nameString) {
if (nameString == null) {
throw new IllegalArgumentException("Unable parse null");
}
fullNameValidationService.validateFullName(nameString);
String[] splitNameString = nameString.split(" ");
String surname = splitNameString[0];
fullNameValidationService.validateSurname(surname);
String name = splitNameString[1];
fullNameValidationService.validateName(name);
String patronymic = splitNameString[2];
fullNameValidationService.validatePatronymic(patronymic);
return new FullName(name, surname, patronymic);
}
}