Skip to content

Commit 97b4c95

Browse files
authored
Merge branch 'main' into NileJacksonLesson_15
2 parents b7b37d5 + 43b0c16 commit 97b4c95

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

lesson_15/tdd/tdd_app/src/main/java/com/codedifferently/lesson15/EmployeeManager.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Map;
55

66
public class EmployeeManager {
7+
78
private Map<Integer, Employee> employees = new HashMap<>();
89

910
public void addEmployee(Employee employee) {
@@ -33,5 +34,41 @@ public Map<Integer, Employee> getEmployees() {
3334
public void setEmployees(Map<Integer, Employee> employees) {
3435
this.employees = employees;
3536
}
37+
38+
private final Map<Integer, Employee> employees;
39+
40+
public EmployeeManager() {
41+
employees = new HashMap<>();
42+
}
43+
44+
public void addEmployee(Employee employee) {
45+
employees.put(employee.getId(), employee);
46+
}
47+
48+
public Employee getEmployee(int id) {
49+
assertEmployeeInCollection(id);
50+
return employees.get(id);
51+
}
52+
53+
public void updateEmployee(Employee employee) {
54+
assertEmployeeInCollection(employee.getId());
55+
employees.put(employee.getId(), employee);
56+
}
57+
58+
public void removeEmployee(int id) {
59+
assertEmployeeInCollection(id);
60+
employees.remove(id);
61+
}
62+
63+
private void assertEmployeeInCollection(int id) {
64+
if (this.employees.containsKey(id)) {
65+
return;
66+
}
67+
throw new IllegalArgumentException("Employee does not in collection with id " + id);
68+
}
69+
70+
public int getEmployeeCount() {
71+
return employees.size();
72+
}
3673
}
3774

0 commit comments

Comments
 (0)