Skip to content

Commit 74aa47a

Browse files
committed
feat: adds JosephCaballero folder containing EmployeeManagetTest.java and EmployeeTest.java. Modifies Employee.java and EmployeeManager.java to ensure any errors are thrown which we tested for in the prior files mentioned. Lesson_15 - Joseph Caballero
1 parent 112c87a commit 74aa47a

File tree

4 files changed

+145
-2
lines changed

4 files changed

+145
-2
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,8 @@ public double getSalary() {
4545
public void setSalary(double salary) {
4646
this.salary = salary;
4747
}
48+
49+
public String getDetails() {
50+
return "Employee: " + id + " " + name + " Department: " + department + " Salary: " + salary;
51+
}
4852
}

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,21 @@ public void addEmployee(Employee employee) {
1414
employees.put(employee.getId(), employee);
1515
}
1616

17-
public Employee getEmployee(int id) {
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+
}
1821
return employees.get(id);
1922
}
2023

2124
public void updateEmployee(Employee employee) {
2225
employees.put(employee.getId(), employee);
2326
}
2427

25-
public void removeEmployee(int id) {
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+
}
2632
employees.remove(id);
2733
}
2834

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
import static org.assertj.core.api.Assertions.assertThat;
2+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
3+
4+
import com.codedifferently.lesson15.Employee;
5+
import com.codedifferently.lesson15.EmployeeManager;
6+
import org.junit.jupiter.api.BeforeEach;
7+
import org.junit.jupiter.api.Test;
8+
9+
public class EmployeeManagerTest {
10+
EmployeeManager employeeManager;
11+
Employee employee;
12+
13+
@BeforeEach
14+
void setUp() {
15+
employeeManager = new EmployeeManager();
16+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
17+
employeeManager.addEmployee(employee);
18+
}
19+
20+
@Test
21+
void testAddEmployee() {
22+
assertThat(employeeManager.getEmployee(999)).isEqualTo(employee);
23+
}
24+
25+
@Test
26+
void testGetEmployee() {
27+
assertThat(employeeManager.getEmployee(999)).isEqualTo(employee);
28+
}
29+
30+
@Test
31+
void testGetEmployee_failedDueToNull() throws RuntimeException {
32+
assertThatThrownBy(() -> employeeManager.getEmployee(9))
33+
.isInstanceOf(NullPointerException.class)
34+
.hasMessage("Employee with id 9 not found");
35+
}
36+
37+
@Test
38+
void testEmployeeUpdate() {
39+
Employee employee2 = new Employee(99, "Angelica", "CodeDifferently", 900.55);
40+
employeeManager.addEmployee(employee2);
41+
employeeManager.updateEmployee(employee2);
42+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(2);
43+
}
44+
45+
@Test
46+
void testRemoveEmployee() throws RuntimeException {
47+
employeeManager.removeEmployee(999);
48+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(0);
49+
}
50+
51+
@Test
52+
void testRemoveEmployee_errorFromNullEmployeeId() throws RuntimeException {
53+
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);
62+
}
63+
64+
@Test
65+
void testGetEmployeeCount_whenOneEmployeeIsInTheMap() {
66+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(1);
67+
}
68+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
2+
3+
import com.codedifferently.lesson15.Employee;
4+
import org.junit.jupiter.api.BeforeEach;
5+
import org.junit.jupiter.api.Test;
6+
7+
class EmployeeTest {
8+
9+
Employee employee;
10+
11+
@BeforeEach
12+
void setUp() {
13+
employee = new Employee(9, "joseph", "Boxing", 1000000.5);
14+
}
15+
16+
@Test
17+
void testGetId() {
18+
assertThat(employee.getId()).isEqualTo(9);
19+
}
20+
21+
@Test
22+
void testSetId_testingIfNumberOneWorks() {
23+
employee.setId(1);
24+
assertThat(employee.getId()).isEqualTo(1);
25+
}
26+
27+
@Test
28+
void testGetName() {
29+
assertThat(employee.getName()).isEqualTo("joseph");
30+
}
31+
32+
@Test
33+
void testSetName_testingIfPabloWorks() {
34+
employee.setName("Pablo");
35+
assertThat(employee.getName()).isEqualTo("Pablo");
36+
}
37+
38+
@Test
39+
void testGetDepartment() {
40+
assertThat(employee.getDepartment()).isEqualTo("Boxing");
41+
}
42+
43+
@Test
44+
void testSetDepartment_testingSettingDepartmentToHome() {
45+
employee.setDepartment("Home");
46+
assertThat(employee.getDepartment()).isEqualTo("Home");
47+
}
48+
49+
@Test
50+
void testGetSalary() {
51+
assertThat(employee.getSalary()).isEqualTo(1000000.5);
52+
}
53+
54+
@Test
55+
void testSetSalary_salaryToTwoMillionAndFiveCents() {
56+
employee.setSalary(2000000.5);
57+
assertThat(employee.getSalary()).isEqualTo(2000000.5);
58+
}
59+
60+
@Test
61+
void testGetDetails_testsIfWeGetSpecificDetails() {
62+
assertThat(employee.getDetails())
63+
.isEqualTo("Employee: 9 joseph Department: Boxing Salary: 1000000.5");
64+
}
65+
}

0 commit comments

Comments
 (0)