Skip to content

Commit ef957c1

Browse files
committed
fix: Reverts EmployeeManager changes and modifies EmployeeManagerTest.java. Lesson_15 - Joseph Caballero
2 parents 74aa47a + 43b0c16 commit ef957c1

File tree

2 files changed

+31
-23
lines changed

2 files changed

+31
-23
lines changed

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

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

66
public class EmployeeManager {
7-
private Map<Integer, Employee> employees;
7+
8+
private final Map<Integer, Employee> employees;
89

910
public EmployeeManager() {
1011
employees = new HashMap<>();
@@ -14,24 +15,28 @@ public void addEmployee(Employee employee) {
1415
employees.put(employee.getId(), employee);
1516
}
1617

17-
public Employee getEmployee(int id) throws RuntimeException {
18-
if (employees.get(id) == null) {
19-
throw new NullPointerException("Employee with id " + id + " not found");
20-
}
18+
public Employee getEmployee(int id) {
19+
assertEmployeeInCollection(id);
2120
return employees.get(id);
2221
}
2322

2423
public void updateEmployee(Employee employee) {
24+
assertEmployeeInCollection(employee.getId());
2525
employees.put(employee.getId(), employee);
2626
}
2727

28-
public void removeEmployee(int id) throws RuntimeException {
29-
if (employees.get(id) == null) {
30-
throw new NullPointerException("Employee with id " + id + " not found");
31-
}
28+
public void removeEmployee(int id) {
29+
assertEmployeeInCollection(id);
3230
employees.remove(id);
3331
}
3432

33+
private void assertEmployeeInCollection(int id) {
34+
if (this.employees.containsKey(id)) {
35+
return;
36+
}
37+
throw new IllegalArgumentException("Employee does not in collection with id " + id);
38+
}
39+
3540
public int getEmployeeCount() {
3641
return employees.size();
3742
}

lesson_15/tdd/tdd_app/src/test/java/JosephCaballero/EmployeeManagerTest.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,60 +9,63 @@
99
public class EmployeeManagerTest {
1010
EmployeeManager employeeManager;
1111
Employee employee;
12+
Employee employee2;
1213

1314
@BeforeEach
1415
void setUp() {
1516
employeeManager = new EmployeeManager();
16-
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
17-
employeeManager.addEmployee(employee);
1817
}
1918

2019
@Test
2120
void testAddEmployee() {
22-
assertThat(employeeManager.getEmployee(999)).isEqualTo(employee);
21+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
22+
employeeManager.addEmployee(employee);
23+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(1);
2324
}
2425

2526
@Test
2627
void testGetEmployee() {
28+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
29+
employeeManager.addEmployee(employee);
2730
assertThat(employeeManager.getEmployee(999)).isEqualTo(employee);
2831
}
2932

3033
@Test
3134
void testGetEmployee_failedDueToNull() throws RuntimeException {
3235
assertThatThrownBy(() -> employeeManager.getEmployee(9))
33-
.isInstanceOf(NullPointerException.class)
34-
.hasMessage("Employee with id 9 not found");
36+
.isInstanceOf(IllegalArgumentException.class)
37+
.hasMessage("Employee does not in collection with id 9");
3538
}
3639

3740
@Test
3841
void testEmployeeUpdate() {
39-
Employee employee2 = new Employee(99, "Angelica", "CodeDifferently", 900.55);
42+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
43+
employeeManager.addEmployee(employee);
44+
employee2 = new Employee(99, "Angelica", "CodeDifferently", 900.55);
4045
employeeManager.addEmployee(employee2);
4146
employeeManager.updateEmployee(employee2);
4247
assertThat(employeeManager.getEmployeeCount()).isEqualTo(2);
4348
}
4449

4550
@Test
4651
void testRemoveEmployee() throws RuntimeException {
52+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
53+
employeeManager.addEmployee(employee);
4754
employeeManager.removeEmployee(999);
4855
assertThat(employeeManager.getEmployeeCount()).isEqualTo(0);
4956
}
5057

5158
@Test
5259
void testRemoveEmployee_errorFromNullEmployeeId() throws RuntimeException {
5360
assertThatThrownBy(() -> employeeManager.removeEmployee(9))
54-
.isInstanceOf(NullPointerException.class)
55-
.hasMessage("Employee with id 9 not found");
56-
}
57-
58-
@Test
59-
void testGetEmployeeCount_whenNoEmployeesAreInMap() {
60-
employeeManager.removeEmployee(999);
61-
assertThat(employeeManager.getEmployeeCount()).isEqualTo(0);
61+
.isInstanceOf(IllegalArgumentException.class)
62+
.hasMessage("Employee does not in collection with id 9");
6263
}
6364

6465
@Test
6566
void testGetEmployeeCount_whenOneEmployeeIsInTheMap() {
67+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
68+
employeeManager.addEmployee(employee);
6669
assertThat(employeeManager.getEmployeeCount()).isEqualTo(1);
6770
}
6871
}

0 commit comments

Comments
 (0)